致谢师兄的 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 把自己的库放在了网站上:

要安装 0.3.24 的 jax,可以运行:

pip install "jax[cuda11_cudnn82]==0.3.24" \
-f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

需要注意:

  1. jax jaxlib optax flax 等库,它们的版本有对应关系,可按照这篇博客的参考版本安装;
  2. 需要 pip install cloudpickle==2.2.1,好像很容易安装成 1.2.2 版本,最后要检查一下版本;
  3. 编译的时候,因为 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的更多相关文章

  1. (转载)WindowsXP上安装和运行神器SqlMap的步骤

    在Windows XP上安装和运行SqlMap的步骤…… 1.首先下载SqlMap 点击下载. https://codeload.github.com/sqlmapproject/sqlmap/leg ...

  2. DB 查询分析器 6.03 在Windows 8 上安装与运行演示

           DB 查询分析器 6.03 在Windows 8 上安装与运行演示 马根峰                ( 广东联合电子服务股份有限公司, 广州 510300) 摘要          ...

  3. Android 手机上安装并运行 Ubuntu 12.04

    ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ...

  4. python编程之如何在Windows上安装python

    一.安装python 首先检查你的系统里是否安装了python,开始菜单里点击运行输入cmd打开一个命令窗口,或键盘快捷键windows+R打开,在窗口中输入python并回车,如果出现了Python ...

  5. python 在 Windows Server 2008 r2 上 安装失败

    Microsoft Visual C++ 2008 Redistributable Package link (x86): https://www.microsoft.com/en-us/downlo ...

  6. centos上安装php运行环境

    可以参考,但我安装的过程不完全一样http://www.cnblogs.com/liulun/p/3535346.html 我先安装的apache,直接执行的yum -y install httpd ...

  7. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  8. Mac OS X上安装 Ruby运行环境

    环境   对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...

  9. Android 手机上安装并运行 Ubuntu 12.04(转,没实测)

    设备需要root权限,并且安装了BusyBox最小 1GHz 处理器(推荐)Android 系统版本 2.1 或以上Android 设备需要自定义的ROM固件SD卡至2.5GB (安装大映像的需要3. ...

  10. linux上 安装并 运行opencv

    我是在树莓派上安装的. 1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-es ...

随机推荐

  1. git rebase -i的时候用的不是 vi 编辑器是 nano编辑器不会用

    今天给同事 rebase 代码 发现 git fetch && git rebase -i origin/develop 的时候 出现了 那个 nano 编辑器的界面 不会用,和vim ...

  2. .NET云原生应用实践(六):多租户初步

    本章目标 多租户简介 实现public租户下的用户数据隔离 出于开发进度考虑,本章暂不会完全实现多租户的整套体系,而是会实现其中的一小部分:基于默认public租户的数据隔离,并在本章节中会讨论多租户 ...

  3. 全球气象数据ERA5的下载方法

      本文介绍在ERA5气象数据的官方网站中,手动下载.Python代码自动批量下载逐小时.逐日与逐月的ERA5气象数据各类产品的快捷方法.   ERA5(fifth generation ECMWF ...

  4. 关于tomcat在idea上的中文编码问题

    一.问题引入 在国内,无论是新手还是有一定码龄的开发人员,汉字编码问题一直都是绕不开的魔咒,本文主要对tomcat在jetbrain系列产品idea上的乱码问题提供解决经验. 二.详情描述 新手在初学 ...

  5. cmd操作license服务

    配置客户机的时候,有时候需要自启动相关服务,例如ArcGIS License Manager. 关于启动服务,参考了别人的意见.点击打开链接 最终用了net start 服务名和net sop 服务名 ...

  6. VLC web(http)控制 (4) 服务器文件获取

    通过链接 http://127.0.0.1:8080/requests/browse.xml?uri=file%3A%2F%2F~ 可以获取服务器默认目录所有文件. 其中file%3A%2F%2F~是 ...

  7. openEuler欧拉部署gitbook

    安装nodejs10 参见<openEuler欧拉安装指定版本的nodejs> 安装Gitbook n 16 # 选择高版本的node npm config set registry ht ...

  8. Gitlab误删用户导致项目丢失莫慌

    Gitlab让小朋友不小心把离职员工的账号给删了,可是离职员工有好几个项目都是他是owner,造成Gitlab上项目全部丢失. 遇到这种情况,莫慌. 一般,本地都有完整的Git备份,离职员工走了,肯定 ...

  9. 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 ...

  10. Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速

    一.前言 最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速.这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放.实时视频流 ...