前言
上一篇算是把复现论文讲完了, 但是还是有几个遗留问题:
- 可视化训练loss
- 模型表现
这一篇解决一下上两个问题, 然后分享一些我写代码工具VSCode的一些很好用的功能~
可视化训练loss
这里采用tensorboard
进行可视化, pytorch
配合tensorboard
的官网教程看这里, 如果只是针对loss, 那么程序里注册了SummaryWriter
后直接简单的writer.add_scalar('name', value, step)
就可以, 我每隔10个step(batch) 更新一次, 效果如下, 源码见在这里, 最下面的run_train()函数
模型表现
这里还是很困惑我的。。。我之前用很小的数据集得到效果不佳, 因为是训练样本不够, 但是换成大数据集到服务器上训练, 得到的结果还是不好, 甚至auc
低于0.5。。。直接人没了;
我现在在找是不是模型写的有问题, 如果figure out了的话会再更新~
利器: VSCode
RemoteSSH
有服务器的童鞋, 请务必安装这个插件
- 不仅可以免密登陆
- 而且能用vscode的图形界面写代码然后直接在服务器跑也太爽了吧!!! ( 我直接在服务器端用jupyter哈哈哈哈哈哈哈哈哈 )
- 以及服务器端的工作区可以将本地文件夹也加进去, 简直方便的离谱。 粘一张图片感受下:
- 还可以关联服务器和本地的文件夹, 让两者同步, 教程点这里, 但我自己还没弄成功, 一直给我报错
connection refused
我也不知道为啥。。。
关于注释
- 按照标准的格式写注释, 即三个引号中间括内容, 如下
在之后调用这个函数的时候是可以自动显示这些注释的, e.g.
- 可以在
settings.json
中设置"editor.parameterHints.enabled": false
, 可以禁用vscode自动的函数变量提示( 因为有的时候我们都记得参数形式, 那个框框跳出来很烦 ), 我们可以为此功能配置自己的快捷键, 只要在键盘快捷方式中找editor.action.triggerParameterHints
这项配置就行。 这样在想不起来的时候按快捷键, 就会跳出参数提示了!!!
- 运行python脚本时我们希望传递参数, 使用
sys.argv
就可以访问传入的参数啦~
Linux tips
- 我们想让程序在后台一直跑, 而不是我们一断连就拉了, 那么使用
screen
命令可以很方便地完成! 教程点这里