炼丹中的一些小问题及解答(持续更新)

Q1:使用nvidia-smi看不到任务进程,想要结束某个进程怎么办?

可以使用一下来查看进程,使用通道过滤,选择python的程序。之后使用 kill -9 ID,即可杀掉程序。

ps aux|grep root|grep python

批量打印进程ID可以使用如下指令,在后面加上|sh即可全部杀死。不过要小心哦。

ps aux|grep root|grep python|grep -v grep| awk '{print "kill -9 "$2}'
ps aux|grep root|grep python|grep -v grep| awk '{print "kill -9 "$2}'|sh

Q2:出现报错 RuntimeError: DataLoader worker (pid 27097) is killed by signal: Killed. 或者Killed

RuntimeError: DataLoader worker (pid 27097) is killed by signal: Killed.

Killed

这种报错是因为内存给小了,原来内存也是会影响DataLoader的,需要调小num_workers,或者加大内存。

Q3:直接使用python train.py 跑代码必须SSH一直连接这服务器,这时候如果出现网络波动或者网络断连就会直接把程序给杀掉。

1、使用.sh文件进行调用可以进行解决,但是有些服务器并不会给你执行sh文件的权限。

2、此时可以使用一些小工具。这里请教了kunyang,发现tmux是一个很好用的工具,以下是一些常用指令,可能可以帮助到大家。

首先是安装,使用apt-get install tmux即可完成安装。

  • 创建一个新的会话(session),-s 后面是该会话的名字。
    tmux new -s mytmux
  • 使用ctrl+B组合键可以发出一些指令,按完ctrl+B后
     按C,可以在新建一个窗口,在最下面可以看到所有的窗口。
     按0 1 2 进行窗口切换,星号在哪个窗口代表现在调用的哪个。
     按D,退出到命令行,还可以回来
  • 查看现有的tmux
    tmux ls
  • 回到之前的tmux
    tmux a -t mytmux
  • 关闭某个不相应的窗口
    tmux kill-window -t 6
  • 彻底关闭窗口,会让你二次确认
    ctrl+B & 

这样就就再也不怕断网之类的事情发生了。

Q4:校园Linux登录校园网,以及注销校园网(防止挖矿病毒)

curl 'http://10.10.43.3' --data "DDDDD=student_id&upass=password&0MKKey="

curl http://10.10.43.3/F.htm

Q5:关于cudnn,对cudnn的解释网上已经有很多了。基本上就是说默认是False,如果网络的输入数据维度或类型上变化不大设置成True,在一起开始会花费一些时间而后面会降低时间,提高速度。但我想说的是,我使用这行代码后跑程序需要的显存出现了波动。之前跑程序我需要18G的显存,但使用这行后一开始只需要16G,之后又需要20G。具体原理不太清楚。

torch.backends.cudnn.benchmark = True

Q6:关于保存和加载模型。

我们可以使用torch.save来保存模型。而在加载时不能直接使用torch.load()来使用,torch.load()仅读取了模型参数。应该先使用自己定义得方法,或者其它的办法先读取到基本模型架构,再使用load_state_dict来加载参数。

torch.save(net.state_dict(), './model.pth')


net=load_model()
net.load_state_dict(torch.load(args.resume))

Q7:出现报错 Process finished with exit code 137, 程序退出

大概率是因为内存不足报的错误,我是在存储一个中间结果时报错的,每一轮循环我都让一个tensor变得更大,以至于最后出现了137错误。这个Killed错误类似,因此我进行了分阶段的保存避免了报错,或者在申请服务器资源时多申请写内存也可以解决。

Q8:数据集太大,使用FTP上传到服务器太慢,使用百度网盘就行数据下载。

居家之后,链接VPN进行文件得传递速度太慢,因此使用了百度网盘的方式,首先需要安装两个库,requests和bypy。

pip install requests -i https://pypi.doubanio.com/simple
pip install bypy -i https://pypi.doubanio.com/simple

之后在浏览器端登陆好百度网盘。然后使用指令得到一个网页连接,复制到浏览器打开,进行授权操作,并得到授权码。

 bypy info

最后将授权码复制到终端,完成授权即可。

之后在百度网盘中会多出来一个应用数据文件夹,其中有一个bypy的文件,只要将需要下载的文件放入bypy中,之后在终端使用命令即可完成文件传输

bypy downdir -v # 下载bypy中所有文件
bypy downdir dirname -v # 下载指定文件
bypy upload -v # 上传文件
bypy -c # 取消授权
bypy list # 显示bypy中文件列表

Q9:Linux下执行.sh命令发现Permission denied。

chmod u+x *.sh

再次执行命令就行了。

Q10:使用tar解压文件

tar -xzvf file.tar.gz -C ./xxx # 解压gar.gz包到指定路径

Q11: ln 建立软链接。我们可以使用软链接将需要的数据集连接到项目目录中的data。

ln -s sours_file_root target_file_root # 建立软链接
rm -rf target_file_root # 删除软链接,但不删除数据
rm -rf target_file_root/ # 既删除软链接,也会把之前源文件删掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值