Python · Jax | 在 python 3.8 上安装 jax,运行 offline RL 的 IQL
致谢师兄的 jax 环境,完全按照师兄的 conda_env.yml 配置的
(如何导出其他环境的 conda_env.yml:Conda | 如何(在新服务器上)复制一份旧服务器的 conda 环境,Linux 服务器)
首先,新建一个 conda 环境:
conda create -n jax_env python==3.8
conda activate jax_env
(如何配置 conda:Conda | 如何在 Linux 服务器安装 conda)
01 安装各种库
直接 pip 安装:
pip install numpy==1.21.6 torch==1.13.1 wandb==0.15.10 \
transformers==4.30.2 typing-extensions==4.7.1 optax==0.1.4 \
jax==0.3.24 flax==0.6.0 cloudpickle==2.2.1 distrax==0.1.3 \
glfw==2.6.2 gym==0.15.7
02 安装 jax
jax 把自己的库放在了网站上:
- https://storage.googleapis.com/jax-releases/jax_releases.html
- https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
要安装 0.3.24 的 jax,可以运行:
pip install "jax[cuda11_cudnn82]==0.3.24" \
-f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
需要注意:
- jax jaxlib optax flax 等库,它们的版本有对应关系,可按照这篇博客的参考版本安装;
- 需要 pip install cloudpickle==2.2.1,好像很容易安装成 1.2.2 版本,最后要检查一下版本;
- 编译的时候,因为 ptxas 版本太低报错,可以运行 which ptxas,查看现在在用哪个 ptxas 版本。如果发现在用老 cuda 版本,则去改 path,修改 ~/.bashrc,添加
export PATH="/usr/local/cuda-{版本号}/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-{版本号}/lib64:$LD_LIBRARY_PATH"
# cuda 版本号可以看 /usr/local 目录里有哪些版本,我用的是 11.7
03 安装 dm_control metaworld d4rl
需要先安装 MuJoCo,可参见这篇:Python · MuJoCo | MuJoCo 与 mujoco_py 的版本对应,以及安装 Cython<3
先把 dm_control metaworld d4rl 这三个库拿下来:
git clone git@github.com:Farama-Foundation/Metaworld.git
git clone git@github.com:Farama-Foundation/D4RL.git
git clone git@github.com:denisyarats/dmc2gym.git
然后分别进入它们的路径,执行 pip install -e . 即可。
04 测试
我跑的是 https://github.com/csmile-1006/PreferenceTransformer 这个库,它里面也有 IQL 的 jax 实现,所以这个环境应该是能跑 IQL jax 的)
05 各种库的参考版本
以下是一个参考环境的版本:
name: jax_env
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- ca-certificates=2023.08.22=h06a4308_0
- certifi=2022.12.7=py37h06a4308_0
- ld_impl_linux-64=2.38=h1181459_1
- libffi=3.3=he6710b0_2
- libgcc-ng=9.1.0=hdf63c60_0
- libstdcxx-ng=9.1.0=hdf63c60_0
- ncurses=6.3=h7f8727e_2
- openssl=1.1.1w=h7f8727e_0
- pip=22.3.1=py37h06a4308_0
- python=3.7.13=h12debd9_0
- readline=8.1.2=h7f8727e_1
- setuptools=65.6.3=py37h06a4308_0
- sqlite=3.38.5=hc218d9a_0
- tk=8.6.12=h1ccaba5_0
- wheel=0.38.4=py37h06a4308_0
- xz=5.2.5=h7f8727e_1
- zlib=1.2.12=h7f8727e_2
- pip:
- absl-py==1.4.0
- appdirs==1.4.4
- beautifulsoup4==4.12.2
- cffi==1.15.1
- charset-normalizer==3.2.0
- chex==0.1.5
- click==8.1.7
- cloudpickle==2.2.1
- colorama==0.4.6
- commonmark==0.9.1
- contextlib2==21.6.0
- cycler==0.11.0
- cython==3.0.2
- decorator==5.1.1
- distrax==0.1.3
- dm-control==1.0.13
- dm-env==1.6
- dm-tree==0.1.8
- docker-pycreds==0.4.0
- etils==0.9.0
- fasteners==0.18
- filelock==3.12.2
- flax==0.6.0
- fonttools==4.38.0
- fsspec==2023.1.0
- future==0.18.3
- gast==0.5.4
- gdown==4.7.1
- gitdb==4.0.10
- gitpython==3.1.36
- glfw==2.6.2
- gym==0.15.7
- gym-notices==0.0.8
- h5py==3.8.0
- huggingface-hub==0.16.4
- idna==3.4
- imageio==2.31.2
- imageio-ffmpeg==0.4.9
- importlib-metadata==6.7.0
- importlib-resources==5.12.0
- jax==0.3.24
- jaxlib==0.3.24+cuda11.cudnn82
- joblib==1.3.2
- kiwisolver==1.4.5
- labmaze==1.0.6
- lxml==4.9.3
- matplotlib==3.5.3
- ml-collections==0.1.1
- msgpack==1.0.5
- mujoco==2.3.6
- mujoco-py==2.0.2.13
- numpy==1.21.6
- nvidia-cublas-cu11==11.10.3.66
- nvidia-cuda-nvrtc-cu11==11.7.99
- nvidia-cuda-runtime-cu11==11.7.99
- nvidia-cudnn-cu11==8.5.0.96
- opt-einsum==3.3.0
- optax==0.1.4
- packaging==23.1
- pathtools==0.1.2
- pillow==9.5.0
- protobuf==3.20.1
- psutil==5.9.5
- pybullet==3.2.5
- pycparser==2.21
- pyglet==1.5.0
- pygments==2.16.1
- pyopengl==3.1.7
- pyparsing==3.1.1
- pysocks==1.7.1
- python-dateutil==2.8.2
- pyyaml==6.0.1
- regex==2023.8.8
- requests==2.31.0
- rich==11.2.0
- safetensors==0.3.3
- scikit-learn==1.0.2
- scipy==1.7.3
- sentry-sdk==1.31.0
- setproctitle==1.3.2
- six==1.16.0
- smmap==5.0.1
- soupsieve==2.4.1
- tensorboardx==2.1
- tensorflow-probability==0.19.0
- termcolor==2.3.0
- threadpoolctl==3.1.0
- tokenizers==0.13.3
- toolz==0.12.0
- torch==1.13.1
- tqdm==4.66.1
- transformers==4.30.2
- typing-extensions==4.7.1
- ujson==5.7.0
- urllib3==2.0.4
- wandb==0.15.10
- zipp==3.15.0
prefix: /home/user_name/miniconda3/envs/jax
Python · Jax | 在 python 3.8 上安装 jax,运行 offline RL 的 IQL的更多相关文章
- (转载)WindowsXP上安装和运行神器SqlMap的步骤
在Windows XP上安装和运行SqlMap的步骤…… 1.首先下载SqlMap 点击下载. https://codeload.github.com/sqlmapproject/sqlmap/leg ...
- DB 查询分析器 6.03 在Windows 8 上安装与运行演示
DB 查询分析器 6.03 在Windows 8 上安装与运行演示 马根峰 ( 广东联合电子服务股份有限公司, 广州 510300) 摘要 ...
- Android 手机上安装并运行 Ubuntu 12.04
ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ...
- python编程之如何在Windows上安装python
一.安装python 首先检查你的系统里是否安装了python,开始菜单里点击运行输入cmd打开一个命令窗口,或键盘快捷键windows+R打开,在窗口中输入python并回车,如果出现了Python ...
- python 在 Windows Server 2008 r2 上 安装失败
Microsoft Visual C++ 2008 Redistributable Package link (x86): https://www.microsoft.com/en-us/downlo ...
- centos上安装php运行环境
可以参考,但我安装的过程不完全一样http://www.cnblogs.com/liulun/p/3535346.html 我先安装的apache,直接执行的yum -y install httpd ...
- 如何在Mac OS X上安装 Ruby运行环境
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...
- Mac OS X上安装 Ruby运行环境
环境 对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...
- Android 手机上安装并运行 Ubuntu 12.04(转,没实测)
设备需要root权限,并且安装了BusyBox最小 1GHz 处理器(推荐)Android 系统版本 2.1 或以上Android 设备需要自定义的ROM固件SD卡至2.5GB (安装大映像的需要3. ...
- linux上 安装并 运行opencv
我是在树莓派上安装的. 1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-es ...
随机推荐
- git rebase -i的时候用的不是 vi 编辑器是 nano编辑器不会用
今天给同事 rebase 代码 发现 git fetch && git rebase -i origin/develop 的时候 出现了 那个 nano 编辑器的界面 不会用,和vim ...
- .NET云原生应用实践(六):多租户初步
本章目标 多租户简介 实现public租户下的用户数据隔离 出于开发进度考虑,本章暂不会完全实现多租户的整套体系,而是会实现其中的一小部分:基于默认public租户的数据隔离,并在本章节中会讨论多租户 ...
- 全球气象数据ERA5的下载方法
本文介绍在ERA5气象数据的官方网站中,手动下载.Python代码自动批量下载逐小时.逐日与逐月的ERA5气象数据各类产品的快捷方法. ERA5(fifth generation ECMWF ...
- 关于tomcat在idea上的中文编码问题
一.问题引入 在国内,无论是新手还是有一定码龄的开发人员,汉字编码问题一直都是绕不开的魔咒,本文主要对tomcat在jetbrain系列产品idea上的乱码问题提供解决经验. 二.详情描述 新手在初学 ...
- cmd操作license服务
配置客户机的时候,有时候需要自启动相关服务,例如ArcGIS License Manager. 关于启动服务,参考了别人的意见.点击打开链接 最终用了net start 服务名和net sop 服务名 ...
- VLC web(http)控制 (4) 服务器文件获取
通过链接 http://127.0.0.1:8080/requests/browse.xml?uri=file%3A%2F%2F~ 可以获取服务器默认目录所有文件. 其中file%3A%2F%2F~是 ...
- openEuler欧拉部署gitbook
安装nodejs10 参见<openEuler欧拉安装指定版本的nodejs> 安装Gitbook n 16 # 选择高版本的node npm config set registry ht ...
- Gitlab误删用户导致项目丢失莫慌
Gitlab让小朋友不小心把离职员工的账号给删了,可是离职员工有好几个项目都是他是owner,造成Gitlab上项目全部丢失. 遇到这种情况,莫慌. 一般,本地都有完整的Git备份,离职员工走了,肯定 ...
- Not all slots covered! Only 5461 slots are available. Set checkSlotsCoverage = false to avoid this check
Not all slots covered! Only 5461 slots are available. Set checkSlotsCoverage = false to avoid this c ...
- Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速
一.前言 最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速.这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放.实时视频流 ...