Ubuntu跑算法心得记录
一、Ubuntu终端各种快捷命令
1.1 终端美化
1.2 信息传输
1.2.1 与Windows互传信息
二、Pytorch使用
2.1 Pytorch安装
2.1.1 安装途径
【清华源】速度安装
(1)conda添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
(2)添加Pytorch镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
(3)去官网 pytorch 选择包安装命令如下:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
由于-c pytorch表示默认从pytorch官网下载安装包,因此安装的时候将-c pytorch去掉,再修改为清华源,可提高安装速度,因此改为如下:
conda install pytorch torchvision torchaudio cudatoolkit=10.2
(4)如果想要安装指定版本的torch,则执行如下命令
conda install pytorch=0.4.1 torchvision torchaudio cudatoolkit=10.2
2.1.2 安装BUG
【No module named ‘torch’】
(1)方法1:source ~/.bashrc
(2)方法2:卸掉Anaconda,采用Miniconda
(3)方法3:因为环境部匹配的问题,采用torch自动推荐的依赖,不要去指定torch版本,也有可能是python版本太低了
2.1.3 安装环境查看技巧
python --version 查看python版本
conda info 查看conda环境
conda search … 查看…(如pytorch)的所有依赖选择
nvidia-smi 查看cuda表格信息,注意:这个不如nvcc -version准 or 直接查看/usr/local/cuda-11.5
conda updata python 更新指定的包
2.2 Conda内嵌Pip安装
pip清华源下载
-i https://pypi.tuna.tsinghua.edu.cn/simple
2.3 Pytorch技巧
2.3.1 技巧函数
【 torch.set_num_threads】
pytorch中可以通过设置 torch.set_num_threads(args.thread) 来限制CPU上进行深度学习训练的线程数
【torch.manual_seed】
在需要生成随机数的实验中,确保每次运行.py文件时,生成的随机数都是固定的,这样每次实验结果显示也就一致了。则可以采用如下函数:
torch.manual_seed(1)
torch.rand(1,2)
2.3.2 功能函数
【torch.multiprocessing 】
torch.multiprocessing 是 Python 的 multiprocessing 多进程模块的替代品。它支持完全相同的操作,但对其进行了扩展,以便所有通过多进程队列 multiprocessing.Queue 发送的张量都能将其数据移入共享内存,而且仅将其句柄发送到另一个进程。
[DataLoader]
三、其他各类包的安装使用
3.1 imageio
四、路径问题汇总
2.1 Python调试路径
【Step1】
import os
path1=os.path.abspath(’.’) # 表示当前所处的文件夹的绝对路径
print(path1)
path2=os.path.abspath(’…’) # 表示当前所处的文件夹上一级文件夹的绝对路径
print(path2)
【Step2】
. 当前文件夹绝对路径
… 上一级文件夹相对路径
【Step3】
os.getcwd() #获取当前路径
os.path.abspath(file) #获取当前文件路径:(__file__是当前执行文件)
os.path.abspath(sys.argv[0]) #获取主程序路径
os.path.abspath(sys.path[0]) #获取主程序目录
os.chdir(path1) #切换路径到path1(保证path1为字符串数据)