2023年11月29日发(作者:)
【实验记录】ssh远程使⽤Linux服务器跑pytorch程序过程
1、SSH服务
linux系统:ssh user@address
win10系统:⼀、安装OpenSSH:(注意此步骤只保留客户端,其他正常安装)
⼆、打开cmd,就可以使⽤ ssh user@address
遇到的问题: kex_exchange_identification: Connection closed by remote host
⽹络上的解决⽅法:
原因是客户端连接数过多。缺省情况下,SSH终端连接数最⼤为10个。在这种情况下,需要改SSH的配置⽂件:
(PS:从第10个连接开始,以30%的概率(递增)拒绝新的连接,指导连接数达到100)
1、修改/etc/ssh/sshd_config中#MaxStartups 10,将其改为MaxStartups 100,或改为合适值;
2、重启SSH服务,systemctl restart sshd。
以上⽅法对我⽆效,使⽤who查看时仅有2个⽤户在线。最终,其中⼀个⽤户切换成普通⽤户后就登录成功,但仍有登录失败概率,怀
疑是⽹络问题。
2、安装anaconda
Bash安装
bash Anaconda3-5.2.0-Linux-x86_
配置环境
Vim ~/.bashrc
打开⽂件后,在最后⼀⾏加⼊:
export PATH=/home/username/anaconda3/bin:$PATH
按Esc键 并:wq保存退出
source ~/.bashrc
遇到的问题:
此处出现⼿滑输错成 export PATH=/home/username/anaconda3/bin:$path(path写成⼩写)
造成结果:出现所有命令失效的情况。
报错:命令'vi'可在'usr/bin/vi/处找到 由于/usr/bin不在PATH环境变量中故⽆法找到该命令。
解决⽅法:这时候可以临时设置环境变量:
export PATH="$PATH:/usr/bin"
出现 < 后输⼊ vim 退出,(相当于重新写了个临时命令)
即可以临时使⽤ vi ~/.bashrc 直接重复配置环境的输⼊修正错误。
检测是否成功 :输⼊conda
3、安装pytorch
创建⼀个虚拟环境
conda create -n torch python=3.8
——torch是环境名,可⾃命名;python=3.8对应你现有的python版本,如果你想在虚拟环境中使⽤其他版本的python也OK,安装会更
慢。
激活虚拟环境
source activate torch
——已激活(虚拟环境):
退回到base
deactivate torch
——正常环境:
查看python版本
python --version
解决⽅法:重新创建虚拟环境,将python改为3.6,激活后不退出,直接进⾏安装。
官⽹给出1.2.0的安装⽅法:
# CUDA 10.0
pip install torch==1.2.0 torchvision==0.4.0
# CUDA 9.2
# CPU only
检测cuda和cudnn是否有⽤
import torch
print(torch.__version__)
print()
print(n())
_available()
# cuda是否可⽤;
_count()
# 返回gpu数量;
_device_name(0)
# 返回gpu名字,设备索引默认从0开始;
t_device()
# 返回当前设备索引
上传⽂件夹(⽬录):
scp -P 22 -r filework user@119.28.40.194:home/user/
上传完毕后,激活虚拟环境
PS:可以通过ls查看⼀下⽂件是否都传成功。
五、运⾏
问题⼀:运⾏pytorch⽂件出现ModuleNotFoundError: No module named 'XX'。
解决⽅法:
缺失相对应的库的问题,安装相应库即可。
pip install XXX
问题⼆:另外,如果安装超时报错,因为源不稳定造成的。
解决⽅法:
选⽤国内源(实例为douban,清华源也推荐使⽤)
问题三:AttributeError: 'NoneType' object has no attribute 'XXX’
解决⽅法:
以上,就是通过SSH在linux服务器上远程运⾏pytorch程序的全过程。


发布评论