<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[火山飘雪的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/feriman</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; feriman]]></copyright><item><title><![CDATA[VMware16安装CentOS7 并配置网络(步骤详细)]]></title><link>https://blog.csdn.net/feriman/article/details/121068882</link><guid>https://blog.csdn.net/feriman/article/details/121068882</guid><author>feriman</author><pubDate>Sun, 31 Oct 2021 19:56:10 +0800</pubDate><description><![CDATA[VMware16 安装 CentOS 7 并配置网络安装准备安装步骤配置虚拟机操作系统安装虚拟机操作系统配置网络
安装准备
虚拟机下载安装：
VMware Workstation Pro 16
CentOS镜像下载安装：
在此建议选择国内镜像源：

阿里云镜像：https://mirrors.aliyun.com/centos/
网易开源镜像：https://mirrors.163.com/centos/

CentOS选择版本：CentOS 7.9

进入镜像源网页后，参考上述路径找到图中所示的镜像，下载]]></description><category></category></item><item><title><![CDATA[Linux实战技巧--文件系统操作（五）--打包压缩和解压缩（tar）]]></title><link>https://blog.csdn.net/feriman/article/details/119856947</link><guid>https://blog.csdn.net/feriman/article/details/119856947</guid><author>feriman</author><pubDate>Sun, 22 Aug 2021 20:00:16 +0800</pubDate><description><![CDATA[打包压缩和解压缩


最早的 Linux 备份介质是磁带，使用的命令是 tar（打包）
常用参数：

c : 打包
x : 解包
f : 指定操作类型的文件



可以对打包后的磁带文件进行压缩储存，压缩的命令是 gzip 和 bzip2（压缩）


经常使用的扩展名是 .tar.gz（.tgz） / .tar.bz2（.tbz2）


打包压缩
示例 1：打包： tar cf
tar cf [打包后文件] [目标文件]
tar cf ./a/pycharm.tar ./pycharm-community-]]></description><category></category></item><item><title><![CDATA[Linux实战技巧--文件系统操作（四）--文本内容查看（cat/head/tail）]]></title><link>https://blog.csdn.net/feriman/article/details/119856330</link><guid>https://blog.csdn.net/feriman/article/details/119856330</guid><author>feriman</author><pubDate>Sun, 22 Aug 2021 19:03:53 +0800</pubDate><description><![CDATA[文本查看命令


cat：文本内容显示到终端


head：查看文件开头


tail：查看文件结尾
常用参数 -f 文件内容更新后，显示信息同步更新


wc：统计文件内容信息


cat

示例：
cat demo


head

示例：
head demo


查看前 5 行：
head -5 demo

tail

示例 1：
tail demo


查看最后 3 行：
head -3 demo

wc
常用命令：wc -l（查看文件有多少行）
wc -l demo



...]]></description><category></category></item><item><title><![CDATA[Linux实战技巧--文件系统操作（三）--复制和移动文件或者目录（cp/mv）]]></title><link>https://blog.csdn.net/feriman/article/details/119854266</link><guid>https://blog.csdn.net/feriman/article/details/119854266</guid><author>feriman</author><pubDate>Sun, 22 Aug 2021 16:34:34 +0800</pubDate><description><![CDATA[复制文件和目录
cp – 复制文件或者目录

cp [选项] 文件路径
cp [选项] 文件… 路径

常用的参数：

-r：复制目录
-p：保留用户、权限、时间等文件属性
-a：等同于 -dpR


示例 1：复制目录
cp -r a/c a/b


示例 2：复制文件
cp a/c/file_c a/b


上述的复制改变了文件的属性（比如说时间），如果想要保持原来的属性，则用命令 -p

如果想要显示复制过程的进度条：则需在命令中加入选项：-v
移动（重命名）文件
mv – 移动（重命名）文件

mv]]></description><category></category></item><item><title><![CDATA[Linux实战技巧--文件系统操作（一）--文件查看（pwd/ls/cd）]]></title><link>https://blog.csdn.net/feriman/article/details/119851230</link><guid>https://blog.csdn.net/feriman/article/details/119851230</guid><author>feriman</author><pubDate>Sun, 22 Aug 2021 13:08:16 +0800</pubDate><description><![CDATA[文件查看

pwd：显示当前的目录名称
ls：查看当前目录下的文件
cd：更改当前的操作目录

pwd–显示当前的目录

示例：
pwd


ls–查看当前目录下的文件
命令：ls [选项，选项...] 参数...

常用的参数：

-l：长格式显示文件
-a：显示隐藏文件
-r：逆序显示
-t：按时间顺序显示
-R：递归显示

示例 1：显示单个目录
ls /


示例 2：显示多个目录
ls / /home


示例 3：ls -l
ls -l


上图中的7列分别表示的信息为：

文件的类型和权限。第]]></description><category></category></item><item><title><![CDATA[Linux实战技巧--文件系统操作（二）--创建和删除目录（mkdir/rm）]]></title><link>https://blog.csdn.net/feriman/article/details/119823078</link><guid>https://blog.csdn.net/feriman/article/details/119823078</guid><author>feriman</author><pubDate>Fri, 20 Aug 2021 14:53:04 +0800</pubDate><description><![CDATA[创建和删除目录
创建目录
命令 -&gt;  mkdir

示例 1：
在当前目录下创建一个新的文件夹 a:
mkdir a


示例 2：
在当前目录下创建多个新的文件夹 b , c, d:
mkdir b c d


示例 3：创建多级目录


方式一：一级一级去创建
mkdir a/b
mkdir a/b/c




方式二：一次性创建
mkdir -p aa/bb/cc


注：在此使用了多级目录查看命令：
ls -R aa



删除目录


rmdir：删除空文件夹。



rm：删除文件或者文]]></description><category></category></item><item><title><![CDATA[PostgreSQL 的安装以及在安装过程中遇到的问题及解决方法]]></title><link>https://blog.csdn.net/feriman/article/details/119519772</link><guid>https://blog.csdn.net/feriman/article/details/119519772</guid><author>feriman</author><pubDate>Sun, 08 Aug 2021 20:39:22 +0800</pubDate><description><![CDATA[遇到的问题
最近在学习《SQL基础教程》，在安装PostgreSQL的过程中遇到了一些问题，主要有以下两个：


There has been an error. Error running …



Problem running post-install step.Installation …



针对问题1：网上很多说是中文路径的问题，但是我将电脑名称改成英文后还是存在这个问题，可能是自己的用户名还是中文的缘故，具体问题还是不太清楚，在尝试了各种方法后，下面这种方法成功了，就是使用 postgres]]></description><category></category></item><item><title><![CDATA[Linux 实战技巧 --vi/vim 的使用]]></title><link>https://blog.csdn.net/feriman/article/details/119428829</link><guid>https://blog.csdn.net/feriman/article/details/119428829</guid><author>feriman</author><pubDate>Thu, 05 Aug 2021 22:28:46 +0800</pubDate><description><![CDATA[Vi 的使用
vi 是一个强大的文本编译器。它可以通过不同模式的切换，使用户可以不用鼠标，通过键盘完成对所有文本的操控。
vi 的四种模式：

正常模式（Normal-model）
插入模式（Insert-model）
命令模式（Command-model）
可视模式（Visual-model）

命令行输入 vi，会进入vim 文本编译器的版本，vim 是对 原始 vi 编译器的扩展。可以用命令 man vi获取到相应的帮助。可以在终端输入 vim 进入其主界面。
vi
man vi
vim

vim .]]></description><category></category></item><item><title><![CDATA[Ubuntu18.04安装Pycharm并将其添加至左侧收藏夹]]></title><link>https://blog.csdn.net/feriman/article/details/116331427</link><guid>https://blog.csdn.net/feriman/article/details/116331427</guid><author>feriman</author><pubDate>Sat, 01 May 2021 16:58:25 +0800</pubDate><description><![CDATA[最近在新装的Ubuntu18.04上安装Pycharn时，发现不能想Ubuntu16.04那样直接在收藏夹右键添加了。所以在此来记录一下Pycharn的安装过程以及如何将其添加到收藏夹。
Pycharm的安装


环境与版本

系统版本：Ubuntu18.04 LTS
Pycharm版本：pycharm-community-2021.1.1



安装


首先从官网下载Pycharm的安装包。官网链接


将下载的 pycharm-community-2021.1.1.tar.gz 文件提取到你要安装的目]]></description><category></category></item><item><title><![CDATA[bazel 的安装与卸载]]></title><link>https://blog.csdn.net/feriman/article/details/116062811</link><guid>https://blog.csdn.net/feriman/article/details/116062811</guid><author>feriman</author><pubDate>Fri, 23 Apr 2021 16:58:45 +0800</pubDate><description><![CDATA[bazel 安装


安装依赖
sudo apt install g++ unzip zip

如果想要构建 java 代码，则需要安装一个 jdk：
# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt-get install openjdk-8-jdk

# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt-get install openjdk-11-jdk



下载名为 baz]]></description><category></category></item><item><title><![CDATA[Ubuntu18.04 安装 ROS Melodic（同时解决 rosdep update 问题，亲测有效）]]></title><link>https://blog.csdn.net/feriman/article/details/115912251</link><guid>https://blog.csdn.net/feriman/article/details/115912251</guid><author>feriman</author><pubDate>Tue, 20 Apr 2021 16:36:36 +0800</pubDate><description><![CDATA[该教程参考自ROS官方安装教程，并解决了国内安装时，运行rosdep update经常会遇见了time out问题.
http://wiki.ros.org/melodic/Installation/Ubuntu


ROS Melodic 安装


添加 ROS 软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" &gt; /etc/apt/sources.list.d/ros-late]]></description><category></category></item><item><title><![CDATA[pip 升级到最近21.0.1 后报错 sys.stderr.write(f“ERROR: {exc}“)]]></title><link>https://blog.csdn.net/feriman/article/details/114834774</link><guid>https://blog.csdn.net/feriman/article/details/114834774</guid><author>feriman</author><pubDate>Mon, 15 Mar 2021 15:26:53 +0800</pubDate><description><![CDATA[最近升级了一下pip之后，竟然报错了，还是不能随便升级呀！
报错如下：

报错原因：
Python 2.7 已于2020年1月1日到期，请停止使用。请升级您的Python，因为不再维护Python 2.7。pip 21.0将于2021年1月停止对Python 2.7的支持。pip 21.0将删除对此功能的支持。
解决办法
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

显示如下：

python get-pip.py.2

显示如下：

如果文章对您有帮]]></description><category></category></item><item><title><![CDATA[Python 中的 defaultdict 数据类型]]></title><link>https://blog.csdn.net/feriman/article/details/113859320</link><guid>https://blog.csdn.net/feriman/article/details/113859320</guid><author>feriman</author><pubDate>Fri, 19 Feb 2021 10:56:10 +0800</pubDate><description><![CDATA[Python 中的 defaultdict 数据类型
官方网址
首先，defaultdict 是 dict 的一个子类。通常 Python 中字典（dict）这种数据类型是通过键值对来存取的，当索引一个不存在的键时，就会引发 keyerror 异常。那么，defaultdict 就可以解决这个问题，它可以实现为不存的键值返回一个默认值。

defaultdict是 collections 包下的一个模块，defaultdict 在初始化时可以提供一个 default_factory 的参数，default_]]></description><category></category></item><item><title><![CDATA[RRT* 算法原理以及在二维仿真环境中的实现 -- Python代码实现]]></title><link>https://blog.csdn.net/feriman/article/details/113835452</link><guid>https://blog.csdn.net/feriman/article/details/113835452</guid><author>feriman</author><pubDate>Wed, 17 Feb 2021 16:46:43 +0800</pubDate><description><![CDATA[RRT* 算法是在 RRT 的基础上做出了一些改进，主要改进的点有两点：


新结点生成后，优化其父结点。

在生成新结点  new_node 后，首先设置一个搜索区域的半径，搜索该区域中的树结点，并计算其中的每一个结点到新结点 new_node 的距离。
# 改进一：当生成新的结点时，判断在一定范围内的结点是否有比当前父结点路径更有的结点
near_inds = self.find_near_nodes(new_node)
new_node = self.choose_parent(new_node, n]]></description><category></category></item><item><title><![CDATA[RRT路径规划算法在二维仿真环境中的应用 -- Python代码实现]]></title><link>https://blog.csdn.net/feriman/article/details/113828617</link><guid>https://blog.csdn.net/feriman/article/details/113828617</guid><author>feriman</author><pubDate>Tue, 16 Feb 2021 21:33:22 +0800</pubDate><description><![CDATA[在上一节中，介绍了 RRT  算法的原理，这一节将一步步实现 RRT 路径规划算法在二维环境中的路径规划，来进一步加深对 RRT 算法的理解。
二维环境的搭建
我们将搭建下图所示的二维环境，绿色点为起点（0，0），红色点为目标点（15, 12），黑色的圆表示障碍物。

实现上述环境的代码如下：
start = [0, 0]      # 起点
goal = [15, 12]     # 终点

# 障碍物 （x, y, radiu）
obstacle_list = [
    (3, 3, 1.5),
  ]]></description><category></category></item><item><title><![CDATA[RRT 算法原理以及过程演示]]></title><link>https://blog.csdn.net/feriman/article/details/113775084</link><guid>https://blog.csdn.net/feriman/article/details/113775084</guid><author>feriman</author><pubDate>Tue, 09 Feb 2021 20:34:29 +0800</pubDate><description><![CDATA[RRT 适用于涉及非完整约束场合下的路径规划问题。
RRT 算法为一种递增式的构造方法，在构造过程中，算法不断在搜索空间中随机生成状态点，如果该点位于无碰撞位置，则寻找搜索树中离该节点最近的结点为基准结点，由基准结点出发以一定步长朝着该随机结点进行延伸，延伸线的终点所在的位置被当做有效结点加入搜索树中。这个搜索树的生长过程一直持续，直到目标结点与搜索树的距离在一定范围以内时终止。随后搜索算法在搜索树中寻找一条连接起点到终点的最短路径。
下面用一个示例来说明RRT算法的过程。


初始化一个环境，包括地图，起]]></description><category></category></item><item><title><![CDATA[A* 算法原理以及在二维环境地图中的应用 -- Python 代码实现]]></title><link>https://blog.csdn.net/feriman/article/details/113725937</link><guid>https://blog.csdn.net/feriman/article/details/113725937</guid><author>feriman</author><pubDate>Sat, 06 Feb 2021 15:05:02 +0800</pubDate><description><![CDATA[上节学习了 Dijkstra 路径规划规划算法，虽然能够找到最短的路径，但是其遍历的搜索过程具有盲目性，因此效率比较低，计算量非常大。而实际中电子地图的结点数量是非常庞大的，Dijkstra 算法在有限的时间内可能无法搜索到目标点，此时就要用到启发式搜索。
启发式搜索就是在搜索的过程中加入与问题有关的的启发式信息，引导搜索朝着最优的方向前进。这样就可以忽略大量与启发式信息无关的结点，提高搜索效率。在启发式搜索中，对结点的估价十分重要，采用不同的估价标准会产生不同的结果。
A*算法是建立在 Dijkstra ]]></description><category></category></item><item><title><![CDATA[Dijkstra 路径规划算法在二维仿真环境中的应用 -- Python代码实现]]></title><link>https://blog.csdn.net/feriman/article/details/113714637</link><guid>https://blog.csdn.net/feriman/article/details/113714637</guid><author>feriman</author><pubDate>Sat, 06 Feb 2021 10:48:19 +0800</pubDate><description><![CDATA[在上一节中，介绍了 Dijkstra 算法的原理以及在图中的应用，这一节将一步步实现 Dijkstra 路径规划算法在二维环境中的路径规划，来进一步加深对 Dijkstra 算法的理解。
所需要用到的 python 库为 matplotlib 和 math。
二维环境的搭建
我们将搭建下图所示的二维环境，其中黑色原点围成的为墙壁障碍物，绿色点为起点（30, 30），红色点为目标点（70，70）。后面需要将所示环境地图转换为栅格地图，所以在此设置栅格地图中栅格的大小为：1.0， 设置移动机器人的半径为： 2.]]></description><category></category></item><item><title><![CDATA[Dijkstra 路径规划算法原理详解及 Python 代码实现]]></title><link>https://blog.csdn.net/feriman/article/details/113619939</link><guid>https://blog.csdn.net/feriman/article/details/113619939</guid><author>feriman</author><pubDate>Wed, 03 Feb 2021 21:32:04 +0800</pubDate><description><![CDATA[荷兰数学家 E.W.Dijkstra 于 1959 年提出了  Dijkstra 算法，它是一种适用于 非负权值 网络的 单源最短路径算法，同时也是目前求解最短路径问题的理论上最完备、应用最广的经典算法。它可以给出从指定节点到图中其他节点的最短路径，以及任意两点的最短路径。
Dijkstra 算法是一种基于 贪心策略 的最短路径算法，该种算法的原理是按照路径长度逐点增长的方法构造一棵路径树，从而得出从该树的根节点（即指定节点）到其他所有节点的最短路径。
Dijkstra 算法的 核心思想 是：设置两个点的集]]></description><category></category></item><item><title><![CDATA[《TensorFlow深度学习》学习笔记--10.卷积神经网络--1.LeNet-5实战]]></title><link>https://blog.csdn.net/feriman/article/details/112882035</link><guid>https://blog.csdn.net/feriman/article/details/112882035</guid><author>feriman</author><pubDate>Wed, 20 Jan 2021 15:42:13 +0800</pubDate><description><![CDATA[1. LeNet-5 实战
1. 导入相关的包
import tensorflow as tf
from tensorflow.keras import Sequential, layers, losses, optimizers

设置GPU（如果使用GPU，则需添加下面代码，如果不使用，则无需添加）
devices = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(]]></description><category></category></item></channel></rss>