致谢师兄的 jax 环境,完全按照师兄的 conda_env.yml 配置的

(如何导出其他环境的 conda_env.yml:Conda | 如何(在新服务器上)复制一份旧服务器的 conda 环境,Linux 服务器


首先,新建一个 conda 环境:

  1. conda create -n jax_env python==3.8
  2. conda activate jax_env

(如何配置 conda:Conda | 如何在 Linux 服务器安装 conda

01 安装各种库

直接 pip 安装:

  1. pip install numpy==1.21.6 torch==1.13.1 wandb==0.15.10 \
  2. transformers==4.30.2 typing-extensions==4.7.1 optax==0.1.4 \
  3. jax==0.3.24 flax==0.6.0 cloudpickle==2.2.1 distrax==0.1.3 \
  4. glfw==2.6.2 gym==0.15.7

02 安装 jax

jax 把自己的库放在了网站上:

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

  1. pip install "jax[cuda11_cudnn82]==0.3.24" \
  2. -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,添加
  1. export PATH="/usr/local/cuda-{版本号}/bin:$PATH"
  2. export LD_LIBRARY_PATH="/usr/local/cuda-{版本号}/lib64:$LD_LIBRARY_PATH"
  3. # cuda 版本号可以看 /usr/local 目录里有哪些版本,我用的是 11.7

03 安装 dm_control metaworld d4rl

需要先安装 MuJoCo,可参见这篇:Python · MuJoCo | MuJoCo 与 mujoco_py 的版本对应,以及安装 Cython<3

先把 dm_control metaworld d4rl 这三个库拿下来:

  1. git clone git@github.com:Farama-Foundation/Metaworld.git
  2. git clone git@github.com:Farama-Foundation/D4RL.git
  3. git clone git@github.com:denisyarats/dmc2gym.git

然后分别进入它们的路径,执行 pip install -e . 即可。

04 测试

我跑的是 https://github.com/csmile-1006/PreferenceTransformer 这个库,它里面也有 IQL 的 jax 实现,所以这个环境应该是能跑 IQL jax 的)

05 各种库的参考版本

以下是一个参考环境的版本:

  1. name: jax_env
  2. channels:
  3. - defaults
  4. dependencies:
  5. - _libgcc_mutex=0.1=main
  6. - ca-certificates=2023.08.22=h06a4308_0
  7. - certifi=2022.12.7=py37h06a4308_0
  8. - ld_impl_linux-64=2.38=h1181459_1
  9. - libffi=3.3=he6710b0_2
  10. - libgcc-ng=9.1.0=hdf63c60_0
  11. - libstdcxx-ng=9.1.0=hdf63c60_0
  12. - ncurses=6.3=h7f8727e_2
  13. - openssl=1.1.1w=h7f8727e_0
  14. - pip=22.3.1=py37h06a4308_0
  15. - python=3.7.13=h12debd9_0
  16. - readline=8.1.2=h7f8727e_1
  17. - setuptools=65.6.3=py37h06a4308_0
  18. - sqlite=3.38.5=hc218d9a_0
  19. - tk=8.6.12=h1ccaba5_0
  20. - wheel=0.38.4=py37h06a4308_0
  21. - xz=5.2.5=h7f8727e_1
  22. - zlib=1.2.12=h7f8727e_2
  23. - pip:
  24. - absl-py==1.4.0
  25. - appdirs==1.4.4
  26. - beautifulsoup4==4.12.2
  27. - cffi==1.15.1
  28. - charset-normalizer==3.2.0
  29. - chex==0.1.5
  30. - click==8.1.7
  31. - cloudpickle==2.2.1
  32. - colorama==0.4.6
  33. - commonmark==0.9.1
  34. - contextlib2==21.6.0
  35. - cycler==0.11.0
  36. - cython==3.0.2
  37. - decorator==5.1.1
  38. - distrax==0.1.3
  39. - dm-control==1.0.13
  40. - dm-env==1.6
  41. - dm-tree==0.1.8
  42. - docker-pycreds==0.4.0
  43. - etils==0.9.0
  44. - fasteners==0.18
  45. - filelock==3.12.2
  46. - flax==0.6.0
  47. - fonttools==4.38.0
  48. - fsspec==2023.1.0
  49. - future==0.18.3
  50. - gast==0.5.4
  51. - gdown==4.7.1
  52. - gitdb==4.0.10
  53. - gitpython==3.1.36
  54. - glfw==2.6.2
  55. - gym==0.15.7
  56. - gym-notices==0.0.8
  57. - h5py==3.8.0
  58. - huggingface-hub==0.16.4
  59. - idna==3.4
  60. - imageio==2.31.2
  61. - imageio-ffmpeg==0.4.9
  62. - importlib-metadata==6.7.0
  63. - importlib-resources==5.12.0
  64. - jax==0.3.24
  65. - jaxlib==0.3.24+cuda11.cudnn82
  66. - joblib==1.3.2
  67. - kiwisolver==1.4.5
  68. - labmaze==1.0.6
  69. - lxml==4.9.3
  70. - matplotlib==3.5.3
  71. - ml-collections==0.1.1
  72. - msgpack==1.0.5
  73. - mujoco==2.3.6
  74. - mujoco-py==2.0.2.13
  75. - numpy==1.21.6
  76. - nvidia-cublas-cu11==11.10.3.66
  77. - nvidia-cuda-nvrtc-cu11==11.7.99
  78. - nvidia-cuda-runtime-cu11==11.7.99
  79. - nvidia-cudnn-cu11==8.5.0.96
  80. - opt-einsum==3.3.0
  81. - optax==0.1.4
  82. - packaging==23.1
  83. - pathtools==0.1.2
  84. - pillow==9.5.0
  85. - protobuf==3.20.1
  86. - psutil==5.9.5
  87. - pybullet==3.2.5
  88. - pycparser==2.21
  89. - pyglet==1.5.0
  90. - pygments==2.16.1
  91. - pyopengl==3.1.7
  92. - pyparsing==3.1.1
  93. - pysocks==1.7.1
  94. - python-dateutil==2.8.2
  95. - pyyaml==6.0.1
  96. - regex==2023.8.8
  97. - requests==2.31.0
  98. - rich==11.2.0
  99. - safetensors==0.3.3
  100. - scikit-learn==1.0.2
  101. - scipy==1.7.3
  102. - sentry-sdk==1.31.0
  103. - setproctitle==1.3.2
  104. - six==1.16.0
  105. - smmap==5.0.1
  106. - soupsieve==2.4.1
  107. - tensorboardx==2.1
  108. - tensorflow-probability==0.19.0
  109. - termcolor==2.3.0
  110. - threadpoolctl==3.1.0
  111. - tokenizers==0.13.3
  112. - toolz==0.12.0
  113. - torch==1.13.1
  114. - tqdm==4.66.1
  115. - transformers==4.30.2
  116. - typing-extensions==4.7.1
  117. - ujson==5.7.0
  118. - urllib3==2.0.4
  119. - wandb==0.15.10
  120. - zipp==3.15.0
  121. 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. 居然都到 7.x版本了!!!雷池 WAF 社区版 7.x 的体验记录

    雷池 WAF 简介 雷池 WAF,英文名 "SafeLine",由长亭科技出品的一款 Web 应用防火墙,可以保护 Web 服务不受黑客攻击,早年就以 "智能语义分析技术 ...

  2. ubuntu apache默认没开启rewrite 如何开启

    注意看到 /etc/apache2/apache2.conf # Include module configuration:IncludeOptional mods-enabled/*.loadInc ...

  3. FastJson漏洞复现

    FastJson漏洞复现 环境:vulhub/fastjson Fastjson是阿里巴巴公司开源的一个高性能的Java库,专门用于处理JSON数据格式. 它不仅能够将Java对象序列化为JSON格式 ...

  4. Abp Vnext Vue Element UI实现

    Abp Vnext Vue Element UI实现版本开箱即用的中后台前端/设计解决方案 链接 AbpPro Vben5 Vue Element Plus 预览 点击查看效果 文档地址 点击查看文档 ...

  5. cmu15545笔记-WAL和数据库恢复

    目录 总览 缓存策略(Buffer Pool Policies) Shadow Paging(No-Steal + Force) SQLite Rollback Mode(Steal + Force) ...

  6. Simple FOC内置通信接口学习(一):实时监控电机状态

    本文参(zhao)考(chao)至官方文档https://docs.simplefoc.com/docs_chinese/monitoring 引言 在使用Simple FOC控制电机的过程中,尤其是 ...

  7. 高中生入门学习c/c++指导

    一.c与c++关系 参考图示: 可见,c与c++的基本部分是相同的,会有一些小区别,不妨一起学.DEV-C++能支持C++和C语言编程 二.学习资料网站介绍 1.C语言初阶--手把手教零基础/新手入门 ...

  8. 跨平台交叉编译 Native AOT

    如何将.NET 应用程序发布到鸿蒙上,肯定是很多人感兴趣的话题,目前.NET完全具备可以在OpenHarmony系统上运行的能力,.NET 现在有很多选项CoreCLR.Mono和NativeAOT. ...

  9. 渗透测试-前端加密分析之RSA加密登录(密钥来源本地)

    本文是高级前端加解密与验签实战的第5篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过前端RSA加密来爆破登录. 分析 generateKey函数用来生成随机的RSA ...

  10. 会话丢失-NGINX配置之underscores_in_headers

    1.描述问题NGINX代理某个web服务时,单机情况下也出现不停的要求认证的情况 初步分析去掉NGINX代理,直接访问服务,未出现上述情况: 进一步分析:查看经过NGINX的请求和直接访问服务请求区别 ...