前几天被要求远程连上学校实验室的linux服务器跑python程序,因为对操作一窍不通,问了很多很多人也查了很多很多资料。现在把步骤整理成教程,希望能为其他科研小白省一些时间
1.远程连接服务器:
学校的服务器是linux的,因此只可以用虚拟机连接。连接的时候打开虚拟机,打开终端,
输入ssh 用户名@IP
接下来根据提示输入密码
如果被拒绝可能网不好
2.从远程服务器下载东西:
不用连接远程服务器。就在自己的虚拟机直接打开终端,输入命令
下载文件 scp username@ip:目标文件目录到文件名 目标文件夹 (所有文件夹最后都不用加/,如果是直接在home里的文件夹
就~/...
下载整个文件夹 scp -r username@ip:目标文件目录到文件名 目标文件夹
向远程服务器上传文件夹 ,就在自己的虚拟机打开终端,scp -r 本地目标文件目录到文件名 username@ip:远程目标目录
(username,ip都是远程服务器的)
下载上传如果有多个文件,可以用空格隔开多个文件名字来写
3.在远程服务器跑python工程
首先创建自己的虚拟环境:conda create -n 自己想要的环境名 python=想要的python版本
每次进入自己的虚拟环境:conda activate 环境名
退出:conda deactivate
输入python可以看到python版本,也就进入了可以输入python语句的状态,每一行开头是这样的>>>,想退出这个状态
ctrl+z。在这个状态里第一行输入import torch如果不报错说明pytorch安装成功。第二行输入print(torch.__version__)
可以查看自己的pytorch版本
可以安装pytorch,conda install pytorch torchvision -c pytorch,这个是装ananconda自动匹配的pytorch版本
如果想选择版本装的话,首先要清楚自己的cuda版本,这个是个gpu加速器类似。程序如果只有cpu来跑太太慢
可以用nvcc -V查看自己cuda的版本。然后在pytorch官网上可以找到对应的anaconda、系统、cuda安装想要版本的pytorch
要什么命令
常常代码与anaconda和torch的版本相关的,但可能相关性不大,版本不对也可以跑的。如果不行,每次新建环境和conda,torch
conda env list可以看当前目录下有哪些环境
对每一个工程,就只是跑带main的.py文件就可以,格式是输入:python filename.py
如果跑程序的时候发生了out of memory的错误,可能是别人在跑程序,这时候可以nvidia-smi看下gpu有多少可用空间,
也还有可能是因为pytorch的版本和代码不匹配。