日前需要用到远程服务器的高性能计算机来跑实验,但是非常苦恼的时候我需要GridSearch来选择优参
然鹅这个过程是比较漫长的,然后我通过EasyConnect连接上去了以后呢,经常跟我说我的连接超时了,需要重新登录。
把我的网络连接一断,我在服务器跑得进程就全部都退出了,我跑了快两天的心血又炸了,这就让我心很累了。
然后现在发现通过nohup来在服务器上面跑不怕ssh断开的影响。
nohup /home/***/anaconda3/envs/cloud/bin/python3.6 -u /home/****/****/xxx.py > XXXX.out 2>&1 &
我们使用nohup命令,然后中间是你的运行命令,然后后面的 > XXXX.out 2>&1 & 是一个重定向,将这个运行命令里面的输出重定向到 XXXX.out文件里面去,最后的一个& 是必要的,这说明了放在后台运行,这样ssh在断开的时候也不会断开了。
使用了这个命令以后呢,输出你直接查看XXXX.out就应该可以看到运行命令以后的输出了。
但是在跑python文件的时候,在PyCharm的工程下面跑的时候很和谐啊,但是为什么到了服务器终端上面跑得时候就疯狂给我输出Module Not Found的错误呢?
这里就应该是在服务器上的参数设定没有在PyCharm这种IDE这么好?
加入这样文件结构:
·········A
·······B
·····c
·····d
·······E
·····f
·····g
·······H
·····i
我现在运行文件在E文件夹下面的f,那我的这个f要引用到B文件夹下面的d的时候就会给我报Module Not Found的错误
这个时候我就这样:
在我的运行文件里面的头部加上这些代码:
import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
然后下面该怎么引用还是怎么引用,就可以啦
(如果可以的话,打赏我一点去买馒头呗,谢谢谢谢~~~)