win 安装 tensorflow jupyter 使用 GPU

折腾了两天的感概(如果你打算在win平台实现最新版python配合最新版tensorflow且调用GPU 那么一定要看):

0.尽量阅读英文说明文档,如果是中文的博客之类的,看一下发布日期,对照最新英文说明操作。超过1年的博客基本就过时而不能用(或许能用一半,然后当你发现不对劲时,已经浪费了大量时间)

1.在win平台安装tensorflow真的是折磨人,如果是要长期使用一定要用原生linux,不愿意折腾配置环境的也建议直接用原生linux

2.如果一定要用win,那么使用wsl2是最好的选择。
主要操作参考

https://blog.csdn.net/qq_40016005/article/details/130203903
https://blog.csdn.net/qq_40016005/article/details/130212118
备注:文中提到的nvidia-smi命令需要使用 /usr/lib/wsl/lib/nvidia-smi 或手动将 /usr/lib/wsl/lib/ 添加到 linux系统PATH环境

3.不要用win平台的docker,因为win平台的docker镜像不支持GPU加速

4.不要用win平台的conda(直接使用,不在虚拟机中),因为win平台的GPU加速只支持到tensorflow2.10(对应python3.10),这一点只有英文页面有说明,中文是没有提示的!

5.在任何平台,如果打算用conda,不要安装anaconda,太臃肿了,为了照顾大量软件的兼容性,预装的都不是最新版的,执行一个conda安装/卸载命令要一个小时…。推荐安装miniconda即可

6.在任何平台,如果用conda,推荐使用miniconda配合mamba管理工具。mamba进行安装包管理比conda快无数倍(谁用谁知道)。

7.win平台的conda (非虚拟机)安装jupyter后,需要通过PIP单独重装pyzmq包才能正常使用jupyter

8.安装tensorflow一定要看清楚各个包的版本号,就按照官网英文说明来,那个英文说明里使用的版本号已经是最新的了,没有再新的了。提示使用pip命令安装tensorflow就一定要用pip命令,conda/mamba命令安装的tensorflow根本不能用,哪怕版本正确。

9.win用户使用pycharm专业版可以直接调用wsl内的conda环境,网上有很多教程,推荐win用户这种方式写代码。

10.win 用户使用pycharm,如果托管启动wsl内的jupyter,由于我的项目路径有中文,所以会报错cannot invoke,干脆直接自己手动启动jupyter,参考这个cmd脚本直接启动jupyter

powershell.exe -Command wsl -d 你的wsl镜像名 -u 你的用户名 /home/你的用户名/miniconda3/bin/conda run -n conda虚拟环境名 --no-capture-output python -m jupyter notebook --notebook-dir=/mnt/c/win工作目录 --no-browser --NotebookApp.port_retries=0 --port 8888 

这个命令行可以在pychram托管启动jupyter时的日志看到。
或者你可以手动从wsl一步一步执行到jupyter
可以设置固定密码连接,不用每次复制token(网上一堆教程)。

11.wsl用户,现在基本上都在用wsl2了,所以win系统会自动把wsl的所有正在监听的端口暴露出来,注意端口不能与实体主机的端口冲突,冲突的会以实体主机优先使用。设置一个不冲突的端口,配置好外网端口转发,当远程服务器使用没问题。

12.wsl用户,默认的系统镜像比如ubuntu,是安装在C盘的,安装完套件会占用相当大的空间。python+tensorflow+jupyter+gpu相关 加起来大概是26GB.如果你C盘不够大,那么需要先手动下载安装包:

https://link.zhihu.com/?target=https%3A//docs.microsoft.com/zh-cn/windows/wsl/install-manual
建议用Ubuntu 20.04

然后把Ubuntu_xxxxxx.appx以压缩包形式解压出来,直接运行解压后的ubuntu.exe。系统会在ubuntu.exe的同目录下生成ext4.vhdx作为虚拟磁盘的空间。

你可能感兴趣的:(tensorflow,jupyter,python,keras,windows)