致谢师兄的 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. 【每天学点AI】前向传播、损失函数、反向传播

    在深度学习的领域中,前向传播.反向传播和损失函数是构建和训练神经网络模型的三个核心概念.今天,小编将通过一个简单的实例,解释这三个概念,并展示它们的作用. 前向传播:神经网络的"思考&quo ...

  2. 条理清晰,浅显易懂:Lua语法基础知识(第二部分)

    今天我们继续学习Lua语法基础教程,中篇. 五.变量 5.1 number变量 变量,可以看作是一个桶,在里面装你想要装的内容.这些内容可以是Lua包含的所有合法类型. 例如:我想要新建一个桶,名叫b ...

  3. NOIP2023模拟9联测30 T4 金牌

    NOIP2023模拟9联测30 T4 金牌 LCA 还能 \(O(1)\)-- 思路 思路非常简单,可考试就是想歪成统计指数了-- 将一条穿过 \((x,y)\) 的路径 \((u,v)\) 分为 \ ...

  4. Abp vNext 入门到放弃系列

    文章目录 1.模块介绍 2.模块加载机制 3.依赖注入 4.AutoMapper-- 待定 5.本地化--待定 6.模型验证--待定 7.异常处理--待定 8.缓存 9.动态代理和拦截 10.分布式锁 ...

  5. Apache APISIX 和 Kong 的选型对比

    从 API 网关核心功能点来看,两者均已覆盖: 功能 Apache APISIX Kong 动态上游 支持 支持 动态路由 支持 支持 健康检查和熔断器 支持 支持 动态SSL证书 支持 支持 七层和 ...

  6. 轻量数据库管理工具之adminer

    github: https://github.com/vrana/adminer 官方文档:https://www.adminer.org/#download Supports: MySQL, Mar ...

  7. HUAWEI SECURITY 2023 山东大学专场 WP

    Crypto by Smera1d0 1.ezrsa 题干如下: from Crypto.Util.number import getPrime from secret import flag p = ...

  8. .NET Core 堆结构(Heap)底层原理浅谈

    .Net托管堆布局 加载堆 主要是供CLR内部使用,作为承载程序的元数据. HighFrequencyHeap 存放CLR高频使用的内部数据,比如MethodTable,MethodDesc. 通过i ...

  9. Reviewbot 开源 | 这些写 Go 代码的小技巧,你都知道吗?

    Reviewbot 是七牛云开源的一个项目,旨在提供一个自托管的代码审查服务, 方便做 code review/静态检查, 以及自定义工程规范的落地. 自从上了 Reviewbot 之后,我发现有些 ...

  10. orangepi zero3开启指定频段WiFi热点的指令

    步骤 通过 -c 命令即可指定wifi频段,避免和其他wifi的频段撞在一起. 例如下面这条命令创建了一个频段为40,WiFi名为zero3,网段为192.168.12.0/24的WiFi热点 sud ...