【小白做科研 ( 六 )】“工欲善其事, 必先利其器”( 上 )

文章目录

    • 前言
    • 可视化训练loss
    • 模型表现
    • 利器: VSCode
      • RemoteSSH
      • 关于注释
    • Linux tips

前言

上一篇算是把复现论文讲完了, 但是还是有几个遗留问题:

  1. 可视化训练loss
  2. 模型表现

这一篇解决一下上两个问题, 然后分享一些我写代码工具VSCode的一些很好用的功能~

可视化训练loss

这里采用tensorboard进行可视化, pytorch配合tensorboard的官网教程看这里, 如果只是针对loss, 那么程序里注册了SummaryWriter后直接简单的writer.add_scalar('name', value, step)就可以, 我每隔10个step(batch) 更新一次, 效果如下, 源码见在这里, 最下面的run_train()函数【小白做科研 ( 六 )】“工欲善其事, 必先利其器”( 上 )_第1张图片

模型表现

这里还是很困惑我的。。。我之前用很小的数据集得到效果不佳, 因为是训练样本不够, 但是换成大数据集到服务器上训练, 得到的结果还是不好, 甚至auc低于0.5。。。直接人没了;

我现在在找是不是模型写的有问题, 如果figure out了的话会再更新~

利器: VSCode

RemoteSSH

有服务器的童鞋, 请务必安装这个插件

  • 不仅可以免密登陆
  • 而且能用vscode的图形界面写代码然后直接在服务器跑也太爽了吧!!! ( 我直接在服务器端用jupyter哈哈哈哈哈哈哈哈哈 )
  • 以及服务器端的工作区可以将本地文件夹也加进去, 简直方便的离谱。 粘一张图片感受下:
    【小白做科研 ( 六 )】“工欲善其事, 必先利其器”( 上 )_第2张图片
  • 还可以关联服务器和本地的文件夹, 让两者同步, 教程点这里, 但我自己还没弄成功, 一直给我报错connection refused我也不知道为啥。。。

关于注释

  • 按照标准的格式写注释, 即三个引号中间括内容, 如下
    【小白做科研 ( 六 )】“工欲善其事, 必先利其器”( 上 )_第3张图片
    在之后调用这个函数的时候是可以自动显示这些注释的, e.g.
    【小白做科研 ( 六 )】“工欲善其事, 必先利其器”( 上 )_第4张图片
  • 可以在settings.json中设置"editor.parameterHints.enabled": false, 可以禁用vscode自动的函数变量提示( 因为有的时候我们都记得参数形式, 那个框框跳出来很烦 ), 我们可以为此功能配置自己的快捷键, 只要在键盘快捷方式中找editor.action.triggerParameterHints这项配置就行。 这样在想不起来的时候按快捷键, 就会跳出参数提示了!!!
    在这里插入图片描述
  • 运行python脚本时我们希望传递参数, 使用sys.argv就可以访问传入的参数啦~

Linux tips

  • 我们想让程序在后台一直跑, 而不是我们一断连就拉了, 那么使用screen命令可以很方便地完成! 教程点这里

你可能感兴趣的:(Research)