1 管理虚拟环境

1.1 查看虚拟环境列表

注:带星号的是当前所处的虚拟环境。

方法一:
(base) PS C:\Users\fy> conda info -e
# conda environments:                                                                                                #                                                                                                                  base                  *  C:\Users\fy\scoop\apps\anaconda3\2021.11                                                    D2L-GPU                  C:\Users\fy\scoop\apps\anaconda3\2021.11\envs\D2L-GPU                                     D2L-dive_into_deep_learning     C:\Users\fy\scoop\apps\anaconda3\2021.11\envs\D2L-dive_into_deep_learning

方法二:
(base) PS C:\Users\fy> conda env list
# conda environments:                                                                                                #                                                                                                                  base                  *  C:\Users\fy\scoop\apps\anaconda3\2021.11                                                    D2L-GPU                  C:\Users\fy\scoop\apps\anaconda3\2021.11\envs\D2L-GPU                                     D2L-dive_into_deep_learning     C:\Users\fy\scoop\apps\anaconda3\2021.11\envs\D2L-dive_into_deep_learning

1.2 创建虚拟环境

注:virtual_env_name为某个虚拟环境的名字。

conda create -n virtual_env_name python=x.x
如: conda create -n venv-first python=3.8

1.3 激活虚拟环境

conda activate virtual_env_name

1.4 退出当前虚拟环境

conda deactivate

1.5 删除虚拟环境

conda env remove -n D2L-GPU
conda remove -n virtual_env_name --all

1.6 虚拟环境包管理

1.删除某些包
	方法一:
	conda remove -n virtual_env_name pkg_name (删除虚拟环境中名为pkg_name的包)
	
	方法二:首先激活某个虚拟环境,然后使用conda remove pkg_name
    (base) PS C:\Users\fy> conda activate D2L-GPU

    (D2L-GPU) PS C:\Users\fy> conda remove pkg_name
2.查找某些包
	(base) PS C:\Users\fy\desktop> conda search cudnn
	Loading channels: done
	# Name                       Version           Build  Channel
	cudnn                            6.0               0  anaconda/pkgs/free
	cudnn                          7.1.4       cuda8.0_0  anaconda/pkgs/main
	cudnn                          7.1.4       cuda8.0_0  pkgs/main
	cudnn                          7.1.4       cuda9.0_0  anaconda/pkgs/main
	cudnn                          7.1.4       cuda9.0_0  pkgs/main
	...
	cudnn                          7.6.5      cuda10.2_0  anaconda/pkgs/main
	cudnn                          7.6.5      cuda10.2_0  pkgs/main
	cudnn                          7.6.5       cuda9.0_0  anaconda/pkgs/main
	cudnn                          7.6.5       cuda9.0_0  pkgs/main
	cudnn                          7.6.5       cuda9.2_0  anaconda/pkgs/main
	cudnn                          7.6.5       cuda9.2_0  pkgs/main
	cudnn                          8.2.1      cuda11.3_0  anaconda/pkgs/main
	cudnn                          8.2.1      cuda11.3_0  pkgs/main
3.安装某些包
	方法一:
    conda install -n virtual_env_name pkg_name

	方法二:首先激活某个虚拟环境,然后使用conda install pkg_name
    (base) PS C:\Users\fy> conda activate D2L-GPU

    (D2L-GPU) PS C:\Users\fy> conda install pkg_name

	方法三:离线安装软件包
	https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/linux-64/cudnn-7.6.5-cuda10.0_0.tar.bz2
	https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/linux-64/cudatoolkit-10.0.130-0.tar.bz2
	先将上述包下载到本地,再虚拟环境中执行安装命令即可
	(tf1.14-py37) root@3b:~/fy# conda install --offline /root/fanyi/cudatoolkit-10.0.130-0.tar.bz2

	Downloading and Extracting Packages
	#################################################################################################################################################################################### | 100%
	Preparing transaction: done
	Verifying transaction: done
	Executing transaction: done
	(tf1.14-py37) root@3b:~/fy# conda install --offline /root/fanyi/cudnn-7.6.5-cuda10.0_0.tar.bz2
	...
	
4.查看虚拟环境包列表
    方法一:
    (base) PS C:\Users\fy> conda list -n virtual_env_name

    方法二:首先激活某个虚拟环境,然后使用conda list
    (base) PS C:\Users\fy> conda activate D2L-GPU
    
    (D2L-GPU) PS C:\Users\fy> conda list
    # packages in environment at C:\Users\fy\scoop\apps\anaconda3\2021.11\envs\D2L-GPU:
    #
    # Name                    Version                   Build  Channel
    argon2-cffi               21.3.0                   pypi_0    pypi
    argon2-cffi-bindings      21.2.0                   pypi_0    pypi
    asttokens                 2.0.5                    pypi_0    pypi
    ...

1.7 查看使用的源(.condarc)

# config config -h
(tf) PS C:\Users\fy\desktop> conda config --show-sources
==> C:\Users\fy\.condarc <==
channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: True

1.8 虚拟环境改名

貌似没有方面的直接改名方法。具体方法为将旧环境克隆到一个新环境,再删除旧环境

# 1 将旧环境克隆到一个新环境
conda create -n new-env-name --clone old-env-name
conda create --name new-env-name --clone old-env-name
# 2 删除旧环境
conda env remove -n old-env-name

2 jupyter notebook 内核(kernel)管理

2.1 添加kernel

如果使用conda建了一个虚拟环境,有时候需要使用虚拟环境的kernel来运行代码,下面说明如何在jupyter notebook中添加新的kernel。

首先安装ipykernel包,然后安装kernel。安装kernel之前首先激活相应的虚拟环境,比如有一个名叫D2L-GPU的虚拟环境。

--name xxx:其中 xxx为内核名,可任取。

(base) PS C:\Users\fy> conda install ipykernel

(base) PS C:\Users\fy> conda active D2L-GPU

(D2L-GPU) PS C:\Users\fy> python -m ipykernel install --name D2L-GPU       
Installed kernelspec D2L-GPU in C:\ProgramData\jupyter\kernels\d2l-gpu  

在这里插入图片描述

2.2 移除kernel

首先查看可用的kernel

(base) PS C:\Users\fy\desktop> jupyter kernelspec list
Available kernels:
  python3    C:\Users\fy\scoop\apps\anaconda3\current\share\jupyter\kernels\python3
  d2l-cpu    C:\ProgramData\jupyter\kernels\d2l-cpu
  d2l-gpu    C:\ProgramData\jupyter\kernels\d2l-gpu

删除不需要的kernel

(base) PS C:\Users\fy\desktop> jupyter kernelspec remove d2l-cpu
Kernel specs to remove:
  d2l-cpu               C:\ProgramData\jupyter\kernels\d2l-cpu
Remove 1 kernel specs [y/N]: y
[RemoveKernelSpec] Removed C:\ProgramData\jupyter\kernels\d2l-cpu

命令详细用法使用如下命令

(base) PS C:\Users\fy\desktop> jupyter kernelspec -h

3 jupyter notebook中%matplotlib inline如何在pycharm中修改

以下为jupyter notebook中的代码:

%matplotlib inline
import torch
from torch import nn
from d2l import torch as d2l

T = 1000  # 总共产生1000个点
time = torch.arange(1, T + 1, dtype=torch.float32)
x = torch.sin(0.01 * time) + torch.normal(0, 0.2, (T,))
d2l.plot(time, [x], 'time', 'x', xlim=[1, 1000], figsize=(6, 3))

在pycharm中改成如下样式:

# %matplotlib inline # 注释此行
import torch
import matplotlib.pyplot as plt # 新增此行
from torch import nn
from d2l import torch as d2l

T = 1000  # 总共产生1000个点
time = torch.arange(1, T + 1, dtype=torch.float32)
x = torch.sin(0.01 * time) + torch.normal(0, 0.2, (T,))
d2l.plot(time, [x], 'time', 'x', xlim=[1, 1000], figsize=(6, 3))
plt.show() # 新增此行

在这里插入图片描述

4 浏览器访问虚拟机中的jupyter notebook

4.1 安装并开启虚拟机中的jupyter notebook

fy@fy-server:~$ sudo apt install jupyter-notebook
fy@fy-server:~$ jupyter notebook

在这里插入图片描述

4.2 配置端口映射

1、查看虚拟机内系统的ip地址

fy@fy-server:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.32.135  netmask 255.255.255.0  broadcast 192.168.32.255
        inet6 fe80::20c:29ff:fef8:4af4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:4a:f4  txqueuelen 1000  (Ethernet)
        RX packets 139  bytes 21912 (21.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 143  bytes 18641 (18.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 106  bytes 8664 (8.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 106  bytes 8664 (8.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2、登录到虚拟机中的主机并映射端口

在本机poweshell执行如下命令,将ubuntu系统(fy@192.168.32.135)中的8888端口映射到本地8887端口。

PS C:\Users\Administrator\Desktop> ssh -L 8887:localhost:8888 fy@192.168.32.135

3、获取jupyter notebook的token

执行上条命令后,再运行命令 jupyter notebook list,获取token

fy@fy-server:~$ jupyter notebook list
Currently running servers:
http://localhost:8888/?token=dda884885ca74b0c77695da98334540076d8ae670d702547 :: /home/fy

3、在本地浏览器访问远端jupyter notebook

在浏览器中粘贴如下地址,回车。就能访问到虚拟机中的jupyter notebook了

localhost:8887/?token=dda884885ca74b0c77695da98334540076d8ae670d702547

在这里插入图片描述

5 使用anaconda搭建深度学习环境

cuda版本和显卡驱动对应关系

5.1 pytorch

pytorch环境搭建

(base) PS C:\Users\fy\desktop> conda create --name d2l python=3.8 -y
(base) PS C:\Users\fy\desktop> conda activate d2l
(d2l) PS C:\Users\fy\desktop> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

# 进入python环境
>>> import torch
>>>
>>> torch.__version__
'1.11.0'
>>>
>>> torch.cuda.is_available()
True

5.2 tensorflow

tensorflow版本和cuda版本、cudnn版本对应关系

(base) PS C:\Users\fy\desktop> conda create -n tf python=3.9
(base) PS C:\Users\fy\desktop> conda activate tf
(tf) PS C:\Users\fy\desktop> pip install tensorflow
(tf) PS C:\Users\fy\desktop> conda install cudnn cudatoolkit

# 进入python环境
>>> import tensorflow as tf
>>>
>>> tf.__version__
'2.9.1'
>>>
>>> tf.config.list_physical_devices("GPU")
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐