李沐动手学深度学习 每周学习汇报 2021/11/8

03 安装

前言

        之前我一直使用的是Windows+Ubuntu20.04双系统,虽然Linux系统可能更适合做编程,但是因为读研也并不是纯编程,也需要处理其他很多事情,所以往往也需要用到Windows系统,平时使用的时候就在两者之间来回切换,渐渐感觉十分不方便。后来,我把电脑重开做成了Win11单系统。作为一名程序猿,只有Windows系统,可能是不够的。于是在目前的时点,我有几个选择:一是VMare虚拟机,二是云端服务器(比如Colab、kaggle、AWS等),三是WSL。这次汇报,是关于学习李沐博士的动手学深度学习的总结,需要用到Linux非图形界面的系统。之前我用的是Ubuntu的图形界面系统,所以缺少纯命令行Linux系统的使用熟练度,正好借此机会实践。云端服务器我基本都用过,然后我也不喜欢VMare,所以我选择WSL2。

环境配置

李沐动手学深度学习 每周学习汇报 2021/11/8_第1张图片

 

AWS (李沐教授使用的云端服务器)

李沐动手学深度学习 每周学习汇报 2021/11/8_第2张图片

Win11 WSL2 (Windows Subsystem for Linux)

 李沐动手学深度学习 每周学习汇报 2021/11/8_第3张图片

 WSL2的优势

  1. Win+Linux的单系统解决方案,作为VMare的替代,避免了使用虚拟机,且免费。
  2. 传统的 VM 体验可能启动速度慢,是独立的,消耗大量资源,需要你花费时间进行管理。 WSL 2 没有这些属性。
  3. WSL 2 有 WSL 1 的优点,包括 Windows 和 Linux 之间的无缝集成,启动时间短,资源占用量少,并且无需 VM 配置或管理。
  4. 完整的Linux内核。
  5. 支持GPU!支持GPU!支持GPU!:可以直接在WSL使用GPU加速,这使得直接在WSL中进行更多的机器学习/AI开发和数据科学工作成为可能。
  6. 可以在 WSL 内部运行的一组全新应用,例如Docker等。

李沐动手学深度学习 每周学习汇报 2021/11/8_第4张图片

安装成功!

李沐动手学深度学习 每周学习汇报 2021/11/8_第5张图片

在WSL2下打开jupyter notebook出现乱码后命令窗口清空

解决办法

1. 输入jupyter notebook --generate-config

2. 根据返回的路径打开 jupyter_notebook_config.py文件
3. 在文件中任意位置添加:

import webbrowser
webbrowser.register('2345Explorer', None, webbrowser.GenericBrowser('你的浏览器的.exe文件的路径'))  //使用斜杠或者双反斜杠避免出现bug
c.NotebookApp.browser = '2345Explorer'

4. Linux命令行中,前缀使用vim可以编辑.py文件,a或i进入编辑模式,Esc退出编辑模式,输入: wq为保存退出。

李沐动手学深度学习 每周学习汇报 2021/11/8_第6张图片

        按照步骤执行完成后,不再出现清屏的bug。找到其中的URLs链接,双击左键选中并且复制,粘贴至Windows的浏览器中,即可链接到对应的jupyter notebook。

conda与虚拟环境相关的常用命令

conda常用的命令:

conda list    //查看安装了哪些包
conda env list    //查看当前存在哪些虚拟环境
conda update conda    //检查更新当前conda
conda create -n your_env_name(虚拟环境名称) python=3.8    //虚拟环境
conda activate your_env_name(虚拟环境名称)    //激活虚拟环境
conda deactivate your_env_name(虚拟环境名称)    //退出虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all    //删除虚拟环境
conda remove --name your_env_name(虚拟环境名称) package_name    //删除环境中的某个包

conda install nb_conda    //安装nb_conda包后,才能在jupyter notebook使用虚拟环境

 

 04 数据操作(基础)

李沐动手学深度学习 每周学习汇报 2021/11/8_第7张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第8张图片

numpy: x.shape        pytorch: x.size()

李沐动手学深度学习 每周学习汇报 2021/11/8_第9张图片

numpy: x.reshape(3,4)      浅拷贝        返回的变量指向同一个内存地址

pytorch: x.continuous().vew(3,4)        深拷贝        返回的变量指向另一个内存地址

view只能对在内存中连续存储的张量进行操作

李沐动手学深度学习 每周学习汇报 2021/11/8_第10张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第11张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第12张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第13张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第14张图片

 李沐动手学深度学习 每周学习汇报 2021/11/8_第15张图片

李沐动手学深度学习 每周学习汇报 2021/11/8_第16张图片

 在pytorch里的浮点数据类型默认是float64,但是建议使用float32,可以加快张量的运算。

谢谢观看,以上就是本周汇报的全部内容!

你可能感兴趣的:(华南师大,-,每周汇报,深度学习,人工智能,python,pytorch,numpy)