Google colab
免费的;
具体使用步骤是:
https://blog.csdn.net/weixin_44498476/article/details/107700730 (参考1)
https://blog.csdn.net/Sciws/article/details/124739341
https://zhuanlan.zhihu.com/p/386162610
https://www.zhihu.com/question/266242493/answers/updated
弊端:最多可以连续使用12个小时,超时会自动将虚拟机回收;
个人看来:可以把其当做调代码测试的工具,也可以当做练习技能的过程。
找到一个不错的解决方式,可以试试最后一个连接,可以今天搞搞看。
失败了,更多的时候分配不到GPU。
参考1
按照博客操作,自己的实验运行了1小时49分钟。
保持电脑没有关闭,没有息屏,只能运行1小时49分钟;
具体的执行指令是:
1. 加载云盘,使得结果存储在google云盘中
from google.colab import drive
drive.mount('/content/drive')
2. 用于切换运行文件夹目录
%cd /content/drive/MyDrive/google drive的上传实验文件夹名字
3. 运行某个训练或测试代码
%run 运行文件名
GPU被占用的情况,说明google colab白嫖不容易。
选择开启实例的方式为无卡模式开机,
用于上传代码、修改代码都可以使用,但是这时候不能使用GPU。
网站地址:https://cloud.aiserver.cn/
帮助信息:
账号注册以及登录:网站:https://cloud.aiserver.cn/login
上传代码通过Xshell,xftp实现;
参考
连接操作需要使用专业版,但我的是社区版 故此没有尝试。
导出pycharm运行环境
导出环境
pip freeze > 文件名.txt
freeze = 表示冻结的意思
文件名.txt = 表示最终存储的文件
租借服务器后会生成链接 比如ssh的链接
链接形式是:ssh -p 端口号 用户名@ip地址
参考
参考1
在看下conda版本与服务器的区别 没有本质关系
下载sh文件
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
执行sh文件
bash Miniconda3-latest-Linux-x86_64.sh
初始化
source miniconda3/bin/activate
conda init
验证安装成功
conda -V 输出版本号
创建虚拟环境
conda create -n xhj114 python=3.8
激活环境
conda activate 环境名
安装cuda对应版本的pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
报错修改为
修改镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
查看相关镜像源
conda config --show
镜像源恢复,恢复成原来的样子 默认
conda config --remove-key channels
重新尝试下载包:
install pytorch torchvision torchaudio pytorch-cuda=11.6
查看版本号
conda --version
查看虚拟环境
conda info -e 或者 conda env list
创建虚拟环境
conda create -n 环境名字
激活虚拟环境
conda activate 环境名字
退出虚拟环境
conda deactivate
查看当前虚拟环境安装的包
conda list -n[环境名字] 或者 激活对应环境 conda list
环境配置:
配置环境 采用国内镜像
pip install -r environment.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install -r environment.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
scikit-learn
更新pip 使用国内镜像
pip install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
采用整体导入的形式,会出现各种各种的问题,于是决定单个包安装。
pip install ipython==7.28.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install opencv-python -i https://pypi.mirrors.ustc.edu.cn/simple/
conda create -n xhj112 python==3.8
切换到根目录
cd /
查看日志文件内容
tail -n xx 日志文件名字
从尾部输出xx行内容
head -n xx 日志文件名字
从头部输出xx行内容
查看正在运行的进程
top
ps 命令提供了正在运行的进程的完整列表,并根据选项来进行格式化。
ps -aux
kill 命令:kill 命令将使用给定的进程ID一次终止一个进程
kill xxx
解决方式
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
解决方式:apt-get install libsm6
ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
解决方式:apt-get install libxrender1
突然的连接断开;
23.1.12 测试:
在服务器没有运行的时候 保存过一次镜像可以保存;
服务器运行过程中,保存镜像不成功;
最后服务器停止保存镜像还是不成功,可能是网站卡的缘故。不太清楚了。
使用nohup实现。
最开始形式
nohup python 文件名 &
换一种形式:
nohup python -u Job.py > log113.log 2>&1 &
nohup python -u xxx.py > log113.log 2>&1 &
nohup python -u train_xxx5.py > log113.log 2>&1 &
nohup python -u train_x4_112.py > log115.log 2>&1 &
nohup python -u predict_xxx5.py > log113test.log 2>&1 &
在后台运行test.py程序,并将所有的结果(不管是报错还是输出)实时快速地输入到output.log文件中,就算关闭与linux的链接,程序照样执行直到其自己结束。
运行命令后会出现:
ignoring input and appending output to ‘nohup.out’
已证实 程序可以运行。
安装
apt-get install yum
新开启一个screen窗口
yum install screen -y
出现错误 后续执行变成
apt-get install screen -y
新建一个xxx窗口
screen -s xxx
这个没有搞懂。
错误出现形式:
第一次 - epoch4 模型保存是1.12 20:50 ,epoch74 模型保存是 1.13 4:03 之后就停止了; 整体运行到78停止;
第二次 依旧如此 模型训练到epoch74就结束了。感觉应该不是程序的问题;整体运行到77停止;
第三次 依旧如此 模型训练到epoch74就结束了
前三次使用的都是2080T的显卡,
第四次使用的是3090的显卡 也出现了模型停止保存到情况,停下来的地方是146epoch;
参考
相同的问题,博客说是因为内存不够;
卸载torch
pip uninstall torch
安装torch
pip install torch-1.0.0-cp36-cp36m-win_amd64.whl
下载 torch
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7
3090的cuda是11.7版本 需要搭配torch1.13.0版本
pip install pytorch1.13.0 torchvision0.14.0 torchaudio==0.13.0 cudatoolkit=11.7
远程服务器运行时,打包镜像会出现程序运行异常的问题;
建议程序没有运行的时候打包镜像;这样速度会快一点;
如果训练是在网盘中实现,则需要创建不同的文件夹进行训练。
如果在同一个文件中,则会出现多个主机,处理同一个文件的情况。
可以实现创建多个xhj文件夹 训练不同的模型。
GeForce RTX 2080Ti
内存:15G 显存:11G 硬盘:50G
epoch = 200 batchsize = 2 停止结束的是77轮 模型保存到74
GeForce RTX 3090
内存:30G 显存:24G 硬盘:50G
epoch = 200 batchsize = 4 停止结束的是146 轮 模型保存到144
Tesla V100- SXM2-32GB
内存:60G 显存:32G 硬盘:50G
应该可以跑完整个模型了。
segnet 模型 不能跑batchsize = 4 会内存溢出。
内存的缘故吗?
加大一倍的内存 然后模型保存的更多了。