2017-09-05 11:50:06 leayc 阅读数 5413
  • 深度解剖dubbo源码

    duboo底层原理知识点: tcp的单工、半双工、全双工、编码、解码、粘包、拆包。网络通信netty nio 阻塞、非阻塞、异步、同步、线程池、boss线程、work线程。集群负载均衡directory、router、cluster、loadbalance。zookeeper与zkClient、持久节点 和 临时节点。服务的本地暴露和远程暴露、服务降级、服务灰度发布。掌握dubbo底层核心原理。 技术交流QQ群:257206349 (加群后可获取课程资料)。本课程的知识目录和思维导图详细介绍地址:http://blog.csdn.net/bobo0218bo/article/details/78066606

    81884 人正在学习 去看看 阿甘

导师大手一挥给了块闲置的TitanX,加上毕业师兄留下的一台服务器级主机,花一天时间配了个深度学习环境出来。
实验室其他组有好几台这样的服务器。以前看人家测试代码都是自己电脑和服务器两头跑,心想这么搞看起来好土,把主机做好当个远程环境、在本机上run代码不就完了吗。
结果轮到自己配环境,还是查了好多文章。主要是对linux、Jupyter都一窍不通。
肯定有其他更简单美妙的实现方式。这里权做个记录,以免下次再用忘记了。

目标:在Windows上登陆Linux服务器主机,使用主机端的Jupyter Notebook

准备

  • 服务器:配置完毕的Ubuntu(Linux)主机:

    • 版本:16.04LTS
    • 深度学习环境(GPU版):
      • CUDA8.0
      • CuDNNv6
      • Tensorflow-gpu v1.3
      • 其他必备package
    • ssh
    • 接入网络
  • 客户端:你所使用的电脑:

    • 接入网络
    • putty:一个开源带GUI的SSH工具
    • 系统:windows10

服务器配置

配置ssh

# install ssh server
sudo apt-get install openssh-server
# start ssh service
/etc/init.d/ssh start
# check ssh status
sudo service ssh status

查看服务器ip

ifconfig

找到 inet addr 后面的ip地址。

客户端

下载安装 putty,启动。

这里写图片描述

输入服务器的ip,端口号填22(SSH服务器的默认端口)。注意存一个session,以免下次还要再输密码。
转到Connection-SSH-Tunnels,填写source port和Destination。前者输入一个本机端口,一般要大于8000;后者输入环路地址+端口号 127.0.0.1:8888。8888是Jupyter的默认端口号,如果这里不是8888,那么远程开启notebook的时候就要指定一个端口号。选项按照默认的local、auto即可。

这里写图片描述

依次点击add、open,会弹出远程登录界面;输入服务器的用户名和密码,显示Welcome文字即表明登陆成功。
这里写图片描述
然后直接启动 jupyter notebook 就可以使用服务器写notebook了。
指定端口号的写法是
jupyter notebook --port=xxxxx
远程运行notebook不会自动弹出浏览器。在浏览器中输入localhost:yyyy,yyyy是你刚才指定的Source port,这里就是9999,会出现Jupyter的登陆页:
这里写图片描述

回到命令行中复制token=后面的字符串,粘贴至此即可。
这里写图片描述

结束

走了几行tensorflow发现确实可以很正常地使用,跟本地没有区别。注意到其实在putty登陆之后的操作,跟在服务器的终端上的操作就没有区别了。包括切换环境、更新package都与在服务器上一样。
windows上其他的工具尚未测试,个人觉得putty不是很好用。
在Linux/Mac系统上使用客户端更方便,一行ssh命令就可以了。


Update:

Windows下远程登陆更简单的一种方式是使用虚拟linux环境cygwin。下载后安装openssh,cygwin会自动配置好一个小型的虚拟linux环境,安装完直接从终端登录即可,这样就与Linux使用ssh一样了。
注意两点:

  • 安装Cygwin的时候选一个国内镜像,速度会快很多。我还是选了科大(Ustc)的。
  • 登陆命令里注意加上端口映射,这一点跟上面putty设置的时候是一样的。命令:
    ssh -L xxxx:localhost:yyyy username@ipaddress

2020-01-30 11:14:14 weixin_44886683 阅读数 135
  • 深度解剖dubbo源码

    duboo底层原理知识点: tcp的单工、半双工、全双工、编码、解码、粘包、拆包。网络通信netty nio 阻塞、非阻塞、异步、同步、线程池、boss线程、work线程。集群负载均衡directory、router、cluster、loadbalance。zookeeper与zkClient、持久节点 和 临时节点。服务的本地暴露和远程暴露、服务降级、服务灰度发布。掌握dubbo底层核心原理。 技术交流QQ群:257206349 (加群后可获取课程资料)。本课程的知识目录和思维导图详细介绍地址:http://blog.csdn.net/bobo0218bo/article/details/78066606

    81884 人正在学习 去看看 阿甘

前面在pycharm狂试,还是整不明白,后来发现原来有一个文件传输,代码运行的一站式搞定的东西,千言万语汇成一句Xshell大法好!
1.首先打开Xshell6,依次输入你的主机,端口号,点击连接

在这里插入图片描述
2.上传你的代码压缩包,里面的代码提到训练图片路径时写相对路径,图片文件也全放在文件夹里

在这里插入图片描述
3.一般来说直接拖拽到新弹出来的框里就可以,上传速度如图,如果图片文件较大推荐使用百度云盘,具体方法以后会更新(吧)

在这里插入图片描述
4.有时人品不佳,就自己输入如下命令

在这里插入图片描述

5.然后用cd和ls等命令看自己的remote端有啥文件然后解压,具体步骤看下图
在这里插入图片描述

6.如果用到了keras等其它原先没有的包输入以下命令就可以,注意租GPU一定要选择有anaconda3以及提前安装好tf还有其它包的GPU,这样比较省事,否则就自己搜linux命令去了

在这里插入图片描述

肉眼可见速度的确提升明显

在这里插入图片描述
7.现在开始想下载文件了,但是遇到权限问题一直难以解决

在这里插入图片描述

我换了一个打开方式用管理员权限打开Xshell,不知道是不是有帮助。。关键是命令写对了就可以了,一定要一字不差的,看好local directory是啥,下载完去那里找
在这里插入图片描述

那么问题来了,怎么下载一整个文件夹?我尝试了下载整个文件夹的SFTP命令,发现不行,后来尝试压缩,成功!
在这里插入图片描述
压缩后的目录
在这里插入图片描述

此处增加如何使用百度云传文件(不幸的消息,博主发现这个方法已经不能用了,老老实实SFTP传吧)
在这里插入图片描述
在文件传输页面输入如下代码,然后在你电脑里面看验证码
在这里插入图片描述

然后输入验证码,小写就可以
在这里插入图片描述

这里有这个插件的详细介绍以及代码命令写法

最后鸣谢我的同学们,他们给我信心一步步探索,解决bug,给我很好的建议,向我推荐如此好用的GPU网站,可以免费使用上百小时,利他AI免费提供,用完之后可以充值后面是最低5毛钱一小时,也通过邀请周围需要gpu的伙伴使用,邀请成功一位免费领取20小时,通过帮平台宣传可以一致免费使用,邀请一人奖励20小时,人数没有上限而且可以8路并行跑程序,自己酌情考虑,pytorch tensorflow环境都配好了可以远程直接使用,只需要绑定邮箱接收ssh信息,需要的加群
在这里插入图片描述
最后放上我的高端助手的参数信息
在这里插入图片描述

2018-05-12 14:30:36 LXX516 阅读数 989
  • 深度解剖dubbo源码

    duboo底层原理知识点: tcp的单工、半双工、全双工、编码、解码、粘包、拆包。网络通信netty nio 阻塞、非阻塞、异步、同步、线程池、boss线程、work线程。集群负载均衡directory、router、cluster、loadbalance。zookeeper与zkClient、持久节点 和 临时节点。服务的本地暴露和远程暴露、服务降级、服务灰度发布。掌握dubbo底层核心原理。 技术交流QQ群:257206349 (加群后可获取课程资料)。本课程的知识目录和思维导图详细介绍地址:http://blog.csdn.net/bobo0218bo/article/details/78066606

    81884 人正在学习 去看看 阿甘

更新:

teamvier可以实现局域网下的共享Teamviewer12 设置局域网远程

————————————————————————————————————————————————————

开始我用的是teamviewer远程控制,但是有时候会有点卡,传文件感觉不是很方便,之后依照一篇博客ubuntu14.04与win7相互共享设置了局域网共享文件夹,解决了在两台电脑之间传文件的问题,但是有时候需要在Linux服务器上修改代码,用teamview有时会比较卡,而且快捷键也不能用,但是,vscode推出了一个live share的插件,可以实现远程修改代码,还可以共享终端。

首先安装插件


然后登录


然后会弹出一个浏览器窗口


成功:

接下来就可以共享了:

  

会生成一个链接到剪贴板,然后通过teamviewer在另一台电脑的浏览器上打开,会进入vscode进行文档的协作编辑。



在发起分享的这边可以看到有人加进来了,不共享了可以remove掉。在发起端点击左下角的用户名,弹出窗口,点击End Collaboration Session关掉会话。

注意:为安全起见,把连接只分享给你信任的人

详情参见How-to: Collaborate using Visual Studio Code


2019-04-28 20:52:55 qq_36665643 阅读数 1175
  • 深度解剖dubbo源码

    duboo底层原理知识点: tcp的单工、半双工、全双工、编码、解码、粘包、拆包。网络通信netty nio 阻塞、非阻塞、异步、同步、线程池、boss线程、work线程。集群负载均衡directory、router、cluster、loadbalance。zookeeper与zkClient、持久节点 和 临时节点。服务的本地暴露和远程暴露、服务降级、服务灰度发布。掌握dubbo底层核心原理。 技术交流QQ群:257206349 (加群后可获取课程资料)。本课程的知识目录和思维导图详细介绍地址:http://blog.csdn.net/bobo0218bo/article/details/78066606

    81884 人正在学习 去看看 阿甘

深度学习如何在云服务器中搭建环境


作者:Ruci

在深度学习中,难免会碰到电脑带不起的情况。这时,可以去网上购买云服务器使用。由于本人,在一次跑程序时,跑不起来。问向了导师,导师给我了一个云服务器。我看了一脸蒙蔽,于是乎。决定专门学习一下云服务器的使用。我相信,做这一行,以后难免会用到。

1、购买云服务器
2、下载远程连接的各种软件
3、搭建开发环境

一、购买云服务器
关于买哪一个云服务器好,我是初学者,不懂太多。不做深入评价。
买云服务器的地方有很多。比如:阿里云,腾讯,谷歌都有

下面是我买的一个专门学习的云服务器
这是我买的腾讯的云服务器,配置不高,跑深度学习肯定是不行的。买来只是为了学习一下

这样就相当于ok了。记住云服务器四个信息:
1、主机名; 2、公网IP地址; 3、自己设置的密码; 4、服务器云端口号

二、下载软件
主要有两款软件:Xshell、Xftp
链接:https://pan.baidu.com/s/1lBN-kpc--i8L2Ow_7zCTOg
提取码:3fs5
下载好,安装就好

我们先打开Xshell
输入三个信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
就ok!

再打开Xftp
在这里插入图片描述

三、搭建编程环境
由于,做深度学习,需要很多科学计算学习包。以及深度学习框架(tensorflow)
我这里选择的是下载Anaconda

方法一:
云服务器直接安装:

下载Anaconda

wget https://repo.continuum.io/archive/Anaconda2-4.4.0-Linux-x86_64.sh

安装:

 bash Anaconda2-4.4.0-Linux-x86_64.sh

验证:终端输入

anaconda

在这里插入图片描述
在这里插入图片描述

方法二:
我们可以用自己电脑去网站下载Anaconda
然后用Xftp传进云服务器就ok了
安装和上面一样。

以后肯定需要搭建gpu环境,这里我就不搭了。。我买的这个服务器。不适合

2017-12-22 22:46:14 IAMoldpan 阅读数 1178
  • 深度解剖dubbo源码

    duboo底层原理知识点: tcp的单工、半双工、全双工、编码、解码、粘包、拆包。网络通信netty nio 阻塞、非阻塞、异步、同步、线程池、boss线程、work线程。集群负载均衡directory、router、cluster、loadbalance。zookeeper与zkClient、持久节点 和 临时节点。服务的本地暴露和远程暴露、服务降级、服务灰度发布。掌握dubbo底层核心原理。 技术交流QQ群:257206349 (加群后可获取课程资料)。本课程的知识目录和思维导图详细介绍地址:http://blog.csdn.net/bobo0218bo/article/details/78066606

    81884 人正在学习 去看看 阿甘

一般我们进行深度学习大部分是在本地进行调试,到实验室台式机中进行炼丹,这样来我们必须时刻待在实验室。接下来要说的,通过云服务器这种方法就可以随时随地进行深度学习。

最终我们实现的是远程进行深度学习的程序运行,打开一个深度学习项目,将pycharm的解释器换为远程GPU云服务器的解释器,然后在你的便携笔记本上跑就行了…

前提条件:
1、便携式笔记本电脑(本人是Macbookpro13.3)
2、GPU云服务器,可以是网购也可以是自己搭建
3、能上网!能上网!能上网!

便携式笔记本

笔记本电脑配置参照一般超极本即可,电脑中最好也有pytorch的环境,不必需要cuda版的,python环境当然最好搭建好,而且安装好pycharm。

云服务器

我选购的是美团云的服务器,美团云最近在搞活动,GPU服务器价格5折,当然要趁着这个机会尝尝鲜啊…关键是价格还算比较便宜,相比于阿里云实在是便宜多了。。

这是我选购的配置清单:

这里写图片描述

M60显卡大家可能比较陌生,因为我们都是用1070、1080ti等消费级显卡,这个M60显卡是服务器显卡,服务器显卡么,最大的优点就是可以多用户运行,并发性较好,至于每个人分配的运行资源么,一会测测就知道了。

价格1.39一个小时,怎么说,按一天8个小时的使用量(当然如果你训练的话可能需要好几天,现在不讨论这个),一天下来差不多12块,一个月就是360块,价格对于学生党来说还是比较贵的。

好了安装好系统连上SSH进行测试吧!

系统使用的ubuntu16.04,美团云自动安装了cuda8.0和cudnn6.0,版本有点旧了啊。。。

刚开始连上ubuntu第一件事做的就是sudo apt-get updatesudo apt-get upgrade么,当然,我这边出现了点问题,apt-get安装软件Unable to locate package错误解决办法,总之就是更新apt的source源。

好了,这一部完了开始搭建虚拟环境系统吧,这里我是下载好了anaconda3的ubuntu版 .sh文件 然后通过ftp上传到服务器中进行安装,安装好了记得将anaconda3的环境变量添加到你的profile中。

安装好anaconda后,搭建一个虚拟环境,具体步骤自行百度,然后在此虚拟环境中安装pytorch就好了,conda install pytorch torchvision -c pytorch执行上面官方命令,系统就会自动为你安装pytorch和所需要的一切组件。

好了,到了这里云服务器的环境就差不多搭好了,接下来配置pycharm。

pycharm远程调试

打开tools中的deployment,点击➕进行服务器配置。

名称随便起,类型选为sftp,其他的按照服务器的标准来填就好,root path不用换。

这里写图片描述

mappings中填写你本地工程的地址和服务器那边的地址,配置好后当你在本地改程序的时候,程序就会同步到服务器上,相当于一个自动的git了~

这里写图片描述

excluded path不用填

这一步弄好,仅仅是可以通过本地的pycharm来修改服务器端的程序,肯定比通过ssh工具通过vim等编辑器编辑程序好吧。。。当然,这个程序只能在服务器上运行,不能在本地运行。。。所以接下来就要使在本地也可以运行。

打开你当前pytorch工程的解释器,点击添加远程解释器(此时我的解释器还是本地的)。

这里写图片描述

选择之前的弄好的deployment即可,注意python解释器地址一定要写成anaconda3中envs中创建好虚拟环境的地址(下图中不正确)。

这里写图片描述

填写好正确地址后,生成的解释器如下:

这里写图片描述

好了,解释了弄好了,就可以跑个测试程序了,这里跑的是fcn中的一段测试程序,来自github中的pytorch-fcn。

这里写图片描述

以上是程序运行结果,相比如泰坦x的45s 和 1060 6G 的129s,这个服务器可以调用的运算资源稍稍差于1066,当然这个测试并不标准,两个程序运行的cuda版本不同,将服务器中的cuda版本升级一下可能会更快些。

总结

除了远程调试,其实也是可以远程debug的,不过需要安装很多东西。

总而言之,远程调试深度学习程序是可以的,自己搭个服务器或者网购一个服务器租用,随时随地进行深度学习,哈哈,还是不错的。

参考文章:
http://blog.csdn.net/zhaihaifei/article/details/53691873
http://www.linuxidc.com/Linux/2016-09/135476.htm
https://www.cnblogs.com/gispathfinder/p/6036736.html

没有更多推荐了,返回首页