一、Ubuntu22.04下Anaconda的安装,参考
1.安装依赖
apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
2.下载Anaconda安装包
安装Anaconda的最佳方法是下载最新的Anaconda安装程序bash脚本并运行即可实现安装。
下载举例
wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
然后运行刚刚下载下来的脚本,一路回车+yes
sh Anaconda3-2022.10-Linux-x86_64.sh
3.修改.bashrc
在~/.bashrc文件末尾加上:
export PATH="~/anaconda3/bin":$PATH
source ~/anaconda3/bin/activate
后执行:
source ~/.bashrc
成功!!!
二、安装GPU版本pytorch (超简单!!!)
pytorch的安装超级简单,其实只需要一行代码
1.查看cuda版本
- 这行代码中间没有空格,切记!*
nvidia-smi
结果如下
看到CUDA Version : 12.2,接着到pytorch官网,选择对应的pytorch版本:
2.复制命令,在虚拟环境中粘贴运行即可:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
等待安装完成,测试如下:
三、spinningup+mujoco 安装
整体参考官方文档的“安装”部分
1.spinningup包
git clone https://github.com/openai/spinningup.git
cd spinningup
pip install -e .
官网的安装依赖项如下:
‘cloudpickle==1.2.1’,
cloudpickle 是一个 Python 库,它提供了一种可以序列化任意 Python
对象的方式,以便将它们发送到远程计算机、保存到磁盘或发送到其他进程。cloudpickle 库的功能类似于标准库中的 pickle 模块,但它可以序列化更多类型的 Python 对象,并且在处理大型数据集合时通常更高效。cloudpickle 可以轻松地序列化常见的 Python 对象,例如函数、类、lambda 函数、闭包等,而标准的 pickle 模块可能无法序列化这些对象。
‘gym[atari,box2d,classic_control]~=0.15.3’
gym 是由 OpenAI 开发的一个用于开发和比较强化学习算法的工具包。它提供了一个简单一致的接口,用于控制和管理各种强化学习环境,包括经典的控制问题和游戏。
ipython
IPython是一个增强的Python交互式解释器,它提供了一些有用的功能,使得在命令行中使用Python更加简便和高效。IPython具有以下几个主要特点:
交互式计算环境:IPython提供了一个交互式的环境,用户可以直接在命令行中输入Python代码并获得即时的结果。这对于快速原型设计和数据分析非常有用。
tab补全和自动完成:IPython具有强大的Tab补全功能,当你输入对象的名称时,按下Tab键可以自动完成对象的属性和方法名,这有助于减少输入错误和提高工作效率。
内置的文档和帮助系统:IPython允许用户通过文档字符串和特殊的“?”符号来获取有关对象、模块和函数的帮助文档。这可以节省用户查找文档的时间,同时避免在浏览器或其他文档查找工具间切换。
丰富的显示输出:IPython可以在命令行中以更富有信息量的方式显示对象或绘图结果,例如以表格形式显示数据或在嵌入的图形用户界面中显示绘图结果。这使得数据可视化和探索变得更加方便。
支持Jupyter Notebook
joblib
Joblib 是一个用于在 Python 中进行并行化计算的库。它提供了一些用于高性能计算和数据处理的工具,特别是在处理大规模数据集时效果非常显著。
matplotlib==3.1.1
Matplotlib 是一个用于绘制 2D 图形的 Python 库,它提供了许多工具用于创建各种类型的图表、图形和可视化,并为科学计算和数据分析提供了强大的支持。
mpi4py
mpi4py 是一个 Python 的 MPI(Message Passing Interface)标准的接口实现库,它允许 Python 程序在并行计算环境中进行通信和协作。MPI 是一种并行计算中常用的标准,可以用于多个进程之间的数据传输和通信。
numpy
Python 的一个用于数值计算的库,它提供了高性能的多维数组对象以及用于处理数组的工具。
pandas
Pandas 是一个开源的数据分析工具包,主要用于数据处理和数据分析。它提供了快速、强大、灵活且易于使用的数据结构,使得用 Python 进行数据清洗、数据分析和数据可视化变得更加简单和高效。
pytest
pytest 是一个流行的 Python 测试框架,用于编写和运行单元测试、集成测试和功能测试。
psutil
psutil 是一个用于获取系统信息和进程管理的 Python 库。它提供了一种跨平台的方式来检索有关系统资源利用情况(如 CPU、内存、磁盘、网络),以及进程信息(如进程ID、内存占用、CPU利用率)的功能。
scipy
Scipy 是一个基于 Python 的开源科学计算库,它建立在 NumPy 数组对象之上,为科学和工程应用程序提供了丰富而强大的功能。Scipy 为用户提供了许多有用的工具和功能,包括数值积分、优化、统计和线性代数等各种科学计算功能。
seaborn==0.8.1
Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库,专注于创建统计图表和信息图形。它旨在使创建具有吸引力和信息丰富的统计图表变得更加简单,提供了丰富的默认主题和调色板,以及用于可视化数据集中数据关系的函数。
tqdm
tqdm 是一个用于在 Python 中显示进度条的快速、可扩展的库。它可以在循环或迭代过程中显示一个实时的进度条,让用户清楚地了解任务的完成情况。tqdm 提供了对迭代过程的实时监控,可以在终端中显示进度条、剩余时间、每秒处理的数据量等信息。
tensorflow和torch不再解释。
安装文件中给的tensorflow版本为一个范围: ‘tensorflow>=1.8.0,<2.0’,但我在第一次安装1.8.0版本后运行测试代码会报错:
AttributeError: module 'tensorflow.compat' has no attribute 'v1'
原因是版本不对,尝试下载安装1.13.2版本运行成功。
torch版本:torch==1.3.1
运行报错,解决
最后成功,目前为止跟mujoco没有任何关系:
2.mujoco,mujoco_py,gym安装
主要参考:Mujoco210 Ubuntu 22.04配置安装(一),报错就看日志去找解决办法,过程艰难,要有耐心。
提示:某些动态链接相关的库安装或更新后需要重启电脑才能生效。
安装顺序mujoco——>mujoco_py——>gym,每一步都保证完全成功再进行下一步,最后安装下来的版本是mjpro150(gym好像只能匹配这个版本)最后运行官网文档测试代码结果如图:
大功告成!!!