ssh免密快速登录

首先,将你的登录命令写入你的pc端的bash启动脚本中。Mac系统为 ~/.bash_profile ,linux系统为 ~/.bashrc 。例如你的服务器用户名为dlnlp,ip为102.10.60.23,那么就把这句登录命令写进去:

alias sshdlnlp="ssh dlnlp@102.10.60.23"

还有一种更科学强大的方法:将你的服务器信息写入PC端的ssh配置文件中,配置文件位于 ~/.ssh/config ,例如你的服务器用户名为dlnlp,ip为102.10.60.23,那么就把这句写进去:

Host dlnlp
[一个Tab]User dlnlp
[一个Tab]Hostname 102.10.60.23
[一个Tab]Port 22
(Host后面那个dlnlp是你起的名字,你也可以用更简短的名字) 这样可以 ssh dlnlp 也能快捷登录,注意中间的空格哈。而且scp也更加方便了

保存后别忘  source ~/.bash_profile  或者source ~/.bashrc  激活一下启动脚本哦。

然后,经过第一步后,只需要再敲密码就可以进入啦。但是懒癌至深的我们怎么能容忍敲密码这么麻烦的事情呢!(划掉,应该是小仙女怎么能容忍敲密码这种事情呢)但是我们又不能牺牲服务器的安全性,那怎么办呢?考验大学里计算机网络基础的时候到了~

也很简单,把你PC端的ssh公钥写入服务器的ssh信任列表里就可以啦。首先用`ssh-keygen`命令生成rsa密钥对(生成一只私钥和一只公钥),一路enter即可,但是注意:

之前有已经生成过的同学在此处就选择n吧,没有生成过的同学就一路next~

然后去 ~/.ssh/ 文件夹下将公钥发送到服务器上的某文件夹里:

然后去服务器上,把你PC端的公钥丢进ssh信任列表:

cat id_rsa.pub >> ~/.ssh/authorized_keys

ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,如果我们重新安装系统,其公钥信息还在,连接会出现如下截图情况

解决方法: rm -rf ~/.ssh/known_hosts

关于jupyter notebook

jupyter notebook这个神器小夕在历史文章中写过啦,也是一个重量级调参神器!或者直接可以说深度学习神器!在服务器端依然犀利的无可替代,只需要如下的tricks。

1、服务器端开启jupyter notebook后

然后复制最后那一行的 token=xxx ,这个token就是远程访问的密码!同时记下 最后那行显示的端口号 8888(因为如果服务器上同时开多个的话,端口号就不一定是8888了哦),然后去PC端做一个端口映射!即通过ssh隧道来将服务器端的8888端口号映射到本地(PC端)的某个端口(如1234):

ssh -L 1234:localhost:8888 dlnlp@102.10.60.23

(这个操作同样可以用于远程监视服务器端tensorboard)

这时就可以在PC端的浏览器

http://localhost:1234

直接访问服务器上的jupyter notebook啦~当然,访问时会让你输入密码,这时就输入之前记下的那个token哦。

2、让jupyer notebook跟anaconda开发环境融合。

默认的情况下jupyter notebook是运行在系统默认环境里的,如果要让它运行在我们自己用ananconda创建的环境中,要进入那个环境中,然后安装 nb_conda 这个库:

conda install nb_conda

这时再开启jupyter notebook就能选择在我们这个环境里运行代码啦。

多任务管理(并行调参)

如果你的服务器上有多个GPU,或者你的任务消耗GPU资源不多,那么并行的训练模型调参数是极大提高开发效率的!这里小夕给出几种场景下的常用方案:

1、比如我们在服务器上除了训练还要接着干别的事情(比如还要捣鼓一下贪吃蛇什么的),那么我们就可以直接将训练任务挂后台。具体如下。

在linux中,在命令后面加上 & 符号可以将命令在后台执行,为了能看到训练日志,我们当时还需要输出重定向(否则会打印到屏幕上干扰正常工作的),所以比如我们调batchsize参数时可以这样:

dlnlp@ubuntu:~$ python train.py --batchsize=16 > log_batch16.txt &

当然再挂上其他batchsize大小,如:

dlnlp@ubuntu:~$ python train.py --batchsize=16 > log_batch16.txt &
dlnlp@ubuntu:~$ python train.py --batchsize=64 > log_batch64.txt &
dlnlp@ubuntu:~$ python train.py --batchsize=128 > log_batch128.txt &

通过 jobs 命令可以看到后台任务的运行状况(running、stopped等),通过 bg [任务号] 可以让后台stopped的命令继续running,通过 fg [任务号] 可以让后台的任务来前台执行。对于前台已经执行起来的任务,可以 ctrl+z 来丢进后台(丢后台时stop了的话用bg让其run起来)。

感谢微信用户A Bad Candy在微信订阅号后台留言提醒上面的丢后台方法会在ssh断开连接后进程终止,因此:

如果我们还不希望ssh断开后导致训练任务终止,那么需要再在命令前面加上 nohup 。如:

dlnlp@ubuntu:~$ nohup python train.py --batchsize=16 > log_batch16.txt &

2、如果我们特别着急,不仅要并行挂着很多训练任务,而且都要实时的监控它们的训练进展,那么使用 screen命令吧,这个命令就相当于可以让你同时开很多个窗口(就像桌面上那样,你可以开很多应用程序的很多窗口),而且多个窗口之间可以轻松切换,同样这种方法不会因为ssh的断开而停止训练任务。

具体的操作可以直接在linux下 man screen 来查看screen命令的帮助文档。英文恐惧症的童鞋可以看本文参考文献[1]。

睡觉调参模式(串行调参)

大部分场合下我们没有那么多充裕的GPU可以用,我们一般只能一次挂一个任务,但是我们又有很重的调参任务,那怎么办呢?

依然很简单啦,首先,装好python-fire这个工具。

它可以非常轻松的将你的python程序变成命令行程序,并且可以轻松的将你要调的参数封装成命令行参数的形式。

然后,写一个调参shell脚本,把你要调的参数全都写进去!比如就像这样:

(当然别忘在代码里将训练的summary写到某个文件里)

然后就可以挂上这个脚本去睡觉啦~睡到天亮发现各个最优参数都找到了,超级开心有木有。

转载于:https://www.cnblogs.com/btschang/p/10281383.html

与服务器交互 【转载】 夕小瑶https://www.jiqizhixin.com/articles/2018-07-02-15相关推荐

  1. 【分享】夕小瑶和大家谈谈几种算法岗的区别和体验

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要12分钟 跟随小博主,每天进步一丢丢 来自:夕小瑶的卖萌屋 这是一份小夕写给[准]算法工程师的手册和建议 图片 大概是因为马上要开始秋招提前批了 ...

  2. 震惊!丧心病狂的夕小瑶推出新一轮写作计划!

    时至今日,距离小夕发布的第一篇正式文章已经过去整三个月啦.今天又回头看了一下自己写的第一篇文章,不禁有点感慨"文风"变了这么多,甚至有点受不了第一篇文章中的萌气了\(//∇//)\ ...

  3. 如果你跟夕小瑶恋爱了...(下)

    AB派 在上一篇文章中,你成功的将"挽回夕小瑶"的任务卡进了隐马尔可夫模型(HMM)中.那么我们来规范化的整理一下已经有的信息和需要计算得到的信息. 还记得这两个图嘛?这就是我们建 ...

  4. 如果你跟夕小瑶恋爱了...(上)

    如果... 如果...有一天...你追到了女神夕小瑶...并且与她恋爱了... (想说"没有如果"的路人请自觉狗带( ̄∇ ̄)) 小夕的生活很规律的哦,小夕每天都会依次经历且仅仅经历 ...

  5. 如何优雅的追到女神夕小瑶

    如果,你不小心迷恋上了小夕- 路人某:"没有如果" 捕获小夕的游戏 如果现实世界中,迷恋上小夕以后,你想捕获小夕.那么发现从上帝视角来看的话,你有下面好多条路几条路达成目标( ̄∇ ̄ ...

  6. step-by-step: 夕小瑶版神经网络调参指南(上)

    距离上一篇文章已经过去好久好久好久啦.闭关几个月后,其实早有继续码文章的打算,先后写了一下核函数与神经网络的一些思考.文本预处理tricks.不均衡文本分类问题.多标签分类问题.tensorflow常 ...

  7. 别再喊我调参侠!夕小瑶“科学炼丹”手册了解一下

    这是一篇写给萌新的"科学炼丹"手册 前言 近期在订阅号后台和文章评论区review了一下大家的问题,发现很多小伙伴现在已经把机器学习.深度学习的理论基础打好了,但是真正要解决一个现 ...

  8. 你还不会小程序啊?手把手带你做第一个和服务器交互的小程序

    2017年的时候,腾讯推出了微信小程序,当时火的一塌糊涂,圈子里几乎所有的程序员都在讨论小程序的话题:随着腾讯对小程序的功的逐步开放,2018年,尤其是在微信首页下拉增加小程序入口之后,小程序正式爆发 ...

  9. VMware vSphere6.0 服务器虚拟化部署安装图解(转载火星小编)

    VMware vSphere6.0 服务器虚拟化部署安装图解 版权声明:本文为火星小编原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 文章转载:火星小编 http ...

最新文章

  1. Android应用打开外部文件
  2. 使用RestTemplate访问restful服务时遇到的问题
  3. How does framework require TechnicalInfo.js
  4. 低功耗wifi soc_36氪首发研发低功耗蓝牙芯片,联睿微完成数千万元A+轮融资
  5. 项目管理基础:项目的生存周期模型
  6. 博客园背景设置CSS代码
  7. 信息学奥赛C++语言: 直方图
  8. HCIE Security 防火墙多出口选路 备考笔记(幕布)
  9. 如何在苹果 M1 上安装使用 FL Studio
  10. Redis命令拾遗四——集合类型(命令补充)
  11. java -classpath or -cp 的设置和解释
  12. 计算机常用算法对照表整理
  13. SpringBoot 整合QUARTZ 并嵌入可视化界面
  14. unity3D 插件plugins
  15. 系统分析师(4)-系统分析师考试大纲
  16. c语言flappy bird编程,C语言实现Flappy Bird小游戏
  17. linux 卸载二进制包,Ubuntu19.10系统的软件安装与卸载命令
  18. 10电脑睡眠后自动关机怎么回事 win_Win10睡眠失效变成关机怎么办_win10睡眠变成自动关机的修复步骤-win7之家...
  19. 利用python实现简单的人工神经网络识别手写数字
  20. 视觉导航路径编辑器使用教程

热门文章

  1. ssh登录显示无法建立连接服务器,SSH无法连接服务器
  2. kali如何开放端口
  3. 在苹果电脑的Windows安装mysql
  4. WPS,左边显示大纲,右边显示文本
  5. 【读书笔记】数学之美2-搜索引擎
  6. 密码学之凯撒密码(C语言)
  7. CentOS7部署OnlyOffice在线办公服务器
  8. 在Navicat中执行sql语句
  9. matlab 求离散点的切线,在离散数据点的某个点上查找切线向量
  10. “拳打”飞利浦,“脚踢”欧乐B,欧可林的牙刷有那么好?