记录Linux环境、Windows环境下常见的运行自动驾驶仿真器CARLA出现的错误
问题1比较基础,创建虚拟环境以及删除虚拟环境
conda create -n RL python=3.7
conda remove -n RL --all
这里的RL是环境的名字,后面的python版本根据自己的需要进行改变;
No module named 'carla'
方法一:
export PYTHONPATH=$PYTHONPATH:/home/yff/CARLA_0.9.5/PythonAPI/carla/dist/carla-0.9.5-py3.5-linux-x86_64.egg
方法二:
cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh
第二步在这个文件夹(Anaconda3./etc/conda/activate.d/env_vars.sh)里面,打开env_vars.sh,把下面的代码写进去,然后保存这个文件:
export PYTHONPATH=$PYTHONPATH:/home/yff/CARLA_0.9.5/PythonAPI/carla/dist/carla-0.9.5-py3.5-linux-x86_64.egg
第三步在这个文件夹(Anaconda3./etc/conda/deactivate.d/env_vars.sh)里面,打开env_vars.sh,把下面的代码写进去,然后保存这个文件:
unset PYTHONPATH
第四步运行下面的代码,看有没有出现CARLA的egg文件的路径:
echo $PYTHONPATH
如果有刚才导入的路径,证明CARLA导入成功;
方法三:
gedit ~/.bashrc
然后在.bashrc文件最后加上以下代码:
export PYTHONPATH=$PYTHONPATH:/home/yff/CARLA_0.9.5/PythonAPI/carla/dist/carla-0.9.5-py3.5-linux-x86_64.egg
export CARLA_ROOT=/home/yff/CARLA_0.9.
关闭这个文件,运行以下代码:
source ~/.bashrc
方法四:
import sys
try:
sys.path.append('/home/yyy/carla/CARLA_0.9.6/PythonAPI/carla/dist/carla-0.9.6-py3.5-linux-x86_64.egg')
'Permission dennied'
这个问题针对的是安装软件时会出现的错误;
在./run_train_eval.sh 前面加上一句代码:
chmod +x run_train_eval.sh
'ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly'
运行以下代码:
pip install --upgrade pip setuptools wheel
如何导入CARLA的额外地图
把下载好的地图放入import文件夹,然后运行以下代码:
./ImportAssets.sh
a similar error :the file is called GlobalShaderCache-GLSL_150_ES31.bin is missing
运行以下代码:
sudo apt install vulkan-utils
SDL_VIDEODRIVER=offscreen SDL_HINT_CUDA_DEVICE=0 /home/yff/CARLA_0.9.5/CarlaUE4.sh -world-port=2000 -fps=30
DISPLAY= ./CarlaUE4.sh -opengl -carla-port=2000
问题7的解决方案也是常见的运行CARLA客户端命令;
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 151 (GLX) Minor opcode of failed request: 3 (X_GLXCreateContext) Value in failed request: 0x0 Serial number of failed request: 147 Current serial number in output stream: 148
CUDA_VISIBLE_DEVICES=3 DISPLAY= ./CarlaUE4.sh -opengl -carla-port=2000
运行carla例程:python manual_control.py出现list index out of range的错误
运行以下代码:
nvidia-smi (查看端口号)
kill -9 PID (PID就是你要杀死的进程的端口号)
关掉终端,进程仍然在运行,如何关闭进程
把manual_control.py里的mono全部替换为arial
连接服务器时,vnc server连接超时
在MobaXterm里运行以下代码:
vncserver -geometry 1920x1080
再打开vnc server修改Properties为刚才显示的端口号;
查看自己的ip地址和端口号
运行以下代码:
iconfig|grep net
第一个是局域网IP(v4),第二个是局域网IP(v6),第三个是广域网IP(v4),第四个是广域网IP(v6);
我们要找的是第三个,那就是远程SSH连接本机时用到的;默认端口号是22
电脑打不开校园网登录界面,但是显示网络连接着
win+R → inetcpl.cpl → 连接 → 局域网设置 → 取消勾选 (自动检测设置, 使用自动配置脚本, 为LAN使用代理服务器)
安装ros过程中出现问题,报错如下:
ModuleNotFoundError: No module named 'derived_object_msgs'
终端执行以下语句即可解决:
sudo apt-get install ros-foxy-astuff-sensor-msgs
Windows环境下安装Anaconda后,终端不出现base环境,这是因为需要添加环境变量;
Win11系统,按如下步骤找到环境变量:系统 --> 系统信息 --> 高级系统设置 --> 高级 --> 环境变量;
找到后点击下面的系统变量Path,打开它新建环境变量,把以下的目录添加进环境变量;
D:\common\Anaconda
D:\common\Anaconda\Scripts\
D:\common\Anaconda\Library\bin
D:\common\Anaconda\Library\mingw-w64\bin
D:\common\Anaconda\Library\usr\bin
"D:\common\Anaconda"这个路径是根据你自己的Anaconda安装位置进行修改的,后面的路径都是一样的。
CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.'
打开Anaconda powershell prompt,执行
conda init powershell
然后关闭Anaconda powershell prompt;
ctrl + R 打开windows10运行界面,输入powershell 回车,并在powershell 界面输入命令:
set-ExecutionPolicy RemoteSigned
系统有提示信息的时候输入Y
关闭 Anaconda powershell prompt,在终端就可以激活环境了;
Windows环境下在Anaconda里创建虚拟环境后,我发现虚拟环境不在Anaconda的envs文件夹下,在Pycharm
里添加不了该环境的解释器,这时候要更改Anaconda 环境默认位置;
conda config --show
去查看env_dirs的信息,第一个一般是默认安装路径,此时发现第一个路径确实不是Anaconda的envs文件夹的路径;
windows+r输入%HOMEPATH%
找到.condarc文件,用记事本打开,将自定义文件夹的路径append到文件中
envs_dirs:
- D:\common\Anaconda\envs
如果发现创建的虚拟环境还是不在Anaconda的envs文件夹下的话,继续往下执行:
更改D:\Anaconda3的权限:选中Anaconda3文件夹,然后右击选则属性,找到安全,Users权限全部允许。
同时在改完Anaconda3的文件夹属性后没成功的话可以试试,将Anaconda3\envs文件夹的只读属性去掉,并且在属性–>安全–>User中将权限全都勾上。
AssertionError: Torch not compiled with CUDA enabled'
1.运行如下的命令查看自己的显卡支持的最高的cuda版本;
nvidia-smi
2.查看自己想要安装的cuda和torch对应的版本;
安装一个不高于自己电脑支持的最高cuda版本的cuda;
3. 在 https://download.pytorch.org/whl/cu113'
中找自己安装的cuda对应的torch版本,这里我安装的是cuda11.3版本的,我下载的是torch-12.1-cu113-cp37版本,然后直接进入下载该文件的路径内打开终端安装;执行类似于这样的命令pip install torch-1.7.0+cu110-cp37-cp37m-win_amd64.whl'
,后面就是你下载的对应的版本的名称;
使用如下的命令也是一种方法,使用下面的命令不需要再运行下面的步骤:
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
https://developer.nvidia.com/rdp/cudnn-downloa'
里找到cuda对应的cudaNN版本,然后把里面的文件夹放到CUDA安装目录下,粘贴会提示是否替换,选择替换;5.运行如下语句,如果输出为True的话,那么就可以使用啦!
import torch
print(torch.__version__)
print(torch.cuda.is_available())
也可以运行下面的语句判断是否成功
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite
bandwidthTest.exe
deviceQuery.exe
Anaconda配置的环境想要迁移到ubuntu系统下,省去配置环境的麻烦'
conda env export > environment.yml
conda env create -f environment.yml
'ubuntu18.04软件中心不见了'
sudo apt install gnome-software
'ubuntu18.04 显示系统时间'
dconf write /org/gnome/desktop/interface/clock-show-date 'true'
'Win11显示未找到音频设备'
1)按下【Win+R】组合键打开运行,输入:services.msc 点确定打开服务;
2)找到【Windows Audio】服务,双击打开;
3)该服务未启动的话将其启动,若以启动则先停用,停用后再启用即可。
Gym框架是常用的强化学习算法使用的框架;
Gym框架的步骤:
1.生成环境gym.make();括号里面是一个输入,也就是要解的问题;
2.env.reset();重置环境;
3.循环执行以下步骤:
1)env.render()渲染环境,把游戏里面发生的过程展示给人看;
2)env.action_space.sample();均匀抽样得到动作,实际上根据策略函数或者
价值函数计算出action,这里只是举个例子让大家明白;
3)env.step(action);agent做出动作,然后环境更新状态,给出动作的奖励;