通过WSL2来实现Windows10/11的深度学习模型GPU加速,TensorFlow项,Jupyter及其插件安装,CQF心得,金融量化

为什么要用WSL(Windows Subsystem Linux)

主要是Windows开窍了,觉得让DEVs的门槛稍微降低,让普通人也有机会接触到开发和应用这一块。抛去这些7788的冠冕堂皇,来个实在些的就是TensorFlow已经在2.10版之后不再支持Windows平台的GPU加速技术了,就问你闹心不?就问你恶心不?!像我这种傻不啦叽的直接在Windows上用TensorFlow 2.15版写代码的,然后再反向寻找GPU加速,这简直就是灾难,我来罗列一下:

  • TF 2.15版写出来的代码是修复了很多Bugs的,相对来讲已经比较能稳定的运行市场上目前很多的模型架构,譬如CNN RNN LSTM及其相关的衍生出来的算法模型。但是2.0 ~ 2.12版的TF可以说是灾难性的,因为我们学习的代码基本上都是CuttingEdge的,TF也得一直更新跟进,顺手消灭一些Bugs的存在。当然了,大家再一年后看我这篇帖子,也会觉得2.15可能也是Bug重重的。
  • TF 2.15的确修复了很多Bugs,代码运行方面也比 2.10 GPU版成熟了很多,毕竟经历了5代大更新;但是懂python的人都懂,不同python库版本写出来的代码有很大的可能性是不能通用的,In my case scenario,是的,你丫就是不能用2.15写的代码在2.10上运行,气你肝儿疼。
  • 那么我们真的就不能在Windows上实现GPU加速了么?答案是否定的。我们可以通过WSL来搭建一个虚拟Linux平台,然后通过我们的IDE(Pycharm Jupyter VScode 等)把WSL的interpreter(解析器)从次平台导入到Windows主平台里进行使用。

安装WSL2,miniconda,cuda,cudnn,TA-Lib

安装 WSL2

  1. 我的Windows10是22H2版本的,超过这个版本应该都适用。据官方给出来的答案是从1903版开始可以正常安装使用WSL2, 请提前做好功课;
  2. 通过cmd或者powershell的管理员模式来进行安装wsl2,现在默认的版本是ubuntu2204LTS版;
  3. wsl --install -d ubuntu
  4. 安装好之后可以设置以什么身份来登录WSL2,建议用root来登录,省去很多麻烦;
  5. wsl --shutdown
  6. ubuntu.exe --default-user root
  7. 如果你想切换回用户模式,可以用下面的命令在cmd或者powershell的管理员模式来进设置;
  8. wsl --shutdown
  9. ubuntu.exe --default-user -u <你的用户名>
  10. 然后在cmd或者powershell的管理员模式来进入到WSL2里
  11. wsl
  12. WSL2
  13. 如果你想进入到你的用户模式的文件夹,输入以下:
  14. cd /home/<你的用户名>User模式
  15. 参考文献如下:

安装 Miniconda3

建议大家安装的时候在/home/<你的用户名>下面操作,以后装啥都在这里操作,以免遇到问题或者找不到文件啥的。

  1. 下载最新版的Linux版本miniconda3到文件夹内;

  2. wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

  3. 给予权限;

  4. chmod 777 Miniconda3-latest-Linux-x86_64.sh

  5. 开始安装miniconda3;

  6. bash Miniconda3-latest-Linux-x86_64.sh

  7. 如果出现conda不能使用的问题,请参阅文献,vim保存的时候先点击esc,然后输入:wq!

  8. 创建一个你的Python运行环境;

  9. conda create -n <你想起的环境名> python==<你想安装的python版本>

  10. 我的环境是3.10.13py3.10的最后的稳定版 ;

  11. 一定要先去查看你运行的TensorFlow或者PyTorch兼容哪个Python版本;

  12. 不建议选择bugfix版本的python,最新的不一定是最好的;

  13. 激活你的环境;

  14. source activate <你的环境名>
    激活python运行环境

  15. 参考文献如下:

安装 CUDA

  1. 链接:CUDA的最新版首页
  2. 按照网站给出的安装指示进行安排即可,没有什么特别麻烦的步骤,就是复制粘贴,一行一行来;
  3. 记得你应该还在 /home/<你的用户名>这个目录下,如果不是请cd到那里cd /home/<你的用户名>
  4. 你的python环境也是应该被激活的,看看wsl命令行前面有没有(<你的环境名>)
    Latest CUDA
  5. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
  6. sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
  7. wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-wsl-ubuntu-12-3-local_12.3.2-1_amd64.deb
  8. sudo dpkg -i cuda-repo-wsl-ubuntu-12-3-local_12.3.2-1_amd64.deb
  9. sudo cp /var/cuda-repo-wsl-ubuntu-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
  10. sudo apt-get update
  11. sudo apt-get -y install cuda-toolkit-12-3
  12. 注意看好了你装的是什么版本的。截止到2024年1月份,Linux版本的CUDA更新到12.3,如果你想安装12.3版本就按照我的来;如果你装的时候已经变成12.5或者13.x了,请自行复制粘贴官网的安装命令;
  13. 具体安装过程我就不贴出来了,参考文献里面博主写得很详细,耗时大约10分钟左右,看你的网速多快了。一共要下载3G多文件;
  14. 参考文献如下:

安装 cuDNN

  1. 记得你应该还在 /home/<你的用户名>这个目录下,如果不是请cd到那里cd /home/<你的用户名>
  2. 你的python环境也是应该被激活的,看看wsl命令行前面有没有(<你的环境名>)
  3. 现在我们试试nvidia-smi是否已经能看到你的nVidia的相关信息;
    nvidia-smi
  4. 重新安装一遍cudatoolkit;
  5. conda install -c conda-forge cudatoolkit=11.8.0
  6. 这里我装的cudnn是最新版的8.9.6.50,在Windows的时候我的LSTM代码只能用这个版本才能运行,不知道为什么;
    cuDNN==8.9.6.50
  7. pip install nvidia-cudnn-cu11==8.9.6.50 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
  8. 安装完成后配置环境
  9. CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
  10. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib
  11. 自动配置
  12. mkdir -p $CONDA_PREFIX/etc/conda/activate.d
  13. echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
  14. echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
  15. 具体参考文献:

安装 TensorFlow 库

  1. 记得你应该还在 /home/<你的用户名>这个目录下,如果不是请cd到那里cd /home/<你的用户名>
  2. 你的python环境也是应该被激活的,看看wsl命令行前面有没有(<你的环境名>)
  3. 安装tensorflow其实挺straight forward的,因为我们已经把前面需要的dependencies都搞定了;
  4. pip install tensorflow==<你想装的版本> 我目前用的是的是==2.15.0版;
  5. 然后测试一下我们有没有设置成功;
  6. python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
    GPU加速成功
  7. [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]的字样已经体现,如果返回的结果只是[ ]空白的,说明未成功,可以回去排查一下哪里出现了问题,或者说安装的不够严谨。
  8. 关于Your kernel may have been built without NUMA support.的提示,可以忽略,StackOverflow上有人问过这个问题,已解决
  9. 参考文献:

安装 TA-Lib 库

TA-Lib库是数据技术分析的主要运行库之一,非常好用,但是吧,它是C语言编译的,没有办法普通pip install来安装。

  1. 记得你应该还在 /home/<你的用户名>这个目录下,如果不是请cd到那里cd /home/<你的用户名>
  2. 你的python环境也是应该被激活的,看看wsl命令行前面有没有(<你的环境名>)
  3. 准备工作
  4. sudo apt-get install aptitude
  5. sudo apt install build-essential
  6. sudo apt install python3-dev
  7. sudo apt install automake
  8. sudo apt install libtool
  9. 安装TA-Lib
  10. git clone https://github.com/TA-Lib/ta-lib.git
  11. cd ta-lib
  12. sudo chmod u+x autogen.sh
  13. ./autogen.sh
  14. ./configure --prefix=/usr
  15. make
  16. sudo make install
  17. pip install TA-Lib
  18. 参考文献:

安装其它CQF及金融量化相关的库

这个安装列表是我自己整理出来的,有一定的个人偏好,可以自行修改增减。

  1. 你的python环境也是应该被激活的,看看wsl命令行前面有没有(<你的环境名>)
  2. pip install akshare backtrader tushare pywencai qstock py-vollib
  3. pip install scipy statsmodels tabulate taichi scikit-learn pymysql sqlalchemy
  4. pip install networkx pandas-ta cufflinks sympy plotly seaborn pyecharts pyfinance yfinance
  5. pip install lightgbm catboost xgboost shap boruta
  6. 安装Jupyter及其相关插件,
  7. 这里不要修改,目前notebook7版本与插件不兼容,
  8. 这个配搭是一套完美的配搭组合,
  9. pip install notebook==6.4.6 jupyter traitlets==5.9.0
  10. pip install jupyter_contrib_nbextensions
  11. jupyter contrib nbextension install --user
  12. pip install jupyter_nbextensions_configurator
  13. jupyter nbextensions_configurator enable --user
  14. jupyter notebook --generate-config

希望这篇博客对您有所帮助

Traning_Model

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mike_Leigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值