2020-03-16 18:06:47 Sebastien23 阅读数 130
  • 深度解剖dubbo源码

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

    81965 人正在学习 去看看 阿甘

利用远程云服务器跑深度学习模型主要有三个问题需要解决。

一是深度学习环境的搭建,二是已搭建环境的保存,三是远程数据的传输。

深度学习环境的搭建

以阿里云为例,在购买服务器创建实例时,可以在镜像市场选择购买已经配置好环境装好驱动的镜像。其优点是可以省去大量自己配置环境和安装显卡驱动的时间;而缺点在于不能自己选择深度学习框架和其它软件的版本,在后续自己安装其他软件或者函数库时可能发生兼容问题。

对于一台新购买的云服务器,深度学习环境的搭建无外乎安装Anaconda、TensorFlow或PyTorch,以及其他用于数据处理的库,例如numpy/pandas/matplotlib/sklearn/jupyter notebook,等等。另外还可根据需要安装keras,以及显卡驱动。

Tensorflow与Python/GCC/CUDA/cuDNN的版本对应关系

Tensorflow与Keras的版本对应关系

具体教程在此不一一赘述。

 

已搭建环境的保存

对于自己配置环境的云服务器,可以制作自定义镜像保存,以便在释放实例后再次创建其他实例时可以快速创建环境。在每次创建实例时选择按量付费,选择自定义镜像,做玩一次实验后对数据做好备份(保存快照或者远程传输到本地电脑),然后释放实例。如此可以将费用降到最低。

根据实例创建自定义镜像

根据自定义镜像创建实例

 

远程数据的传输

在运行深度学习模型时,为了防止长时间无操作而导致远程连接断开,可以让模型在后台运行。

source activate tensorflow_env # 激活深度学习环境
nohup jupyter notebook & # 后台运行并将数据保存到nohup.out文件中
nohup jupyter notebook --allow-root & # 如果是root用户

ps -aux | grep jupyter # 查看jupyter notebook进程号,假设是1842
kill -9 1842 # 停止后台运行

如果需要远程传输数据,可以安装putty/scp/pscp。本地Windows系统请安装pscp.exe,将其放在C:\Windows\System32\文件夹下。

# 将Windows本地的file.txt上传到远程Linux服务器
# 服务器文件路径为:用户名@服务器公网IP:文件路径
pscp E:\jupyter_notebook\workplace\file.txt root@服务器公网IP:/root/workplace

# 将远程服务器上的数据下载到本地Windows文件夹
pscp root@服务器公网IP:/root/workplace/data.npy E:\jupyter_notebook\workplace\data.npy

以上。

 

参考文章

https://blog.csdn.net/Lo_Bamboo/article/details/78601328

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

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

    81965 人正在学习 去看看 阿甘

导师大手一挥给了块闲置的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 阅读数 303
  • 深度解剖dubbo源码

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

    81965 人正在学习 去看看 阿甘

前面在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 阅读数 1048
  • 深度解剖dubbo源码

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

    81965 人正在学习 去看看 阿甘

更新:

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

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

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

首先安装插件


然后登录


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


成功:

接下来就可以共享了:

  

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



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

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

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


2020-03-20 10:42:34 binbinczsohu 阅读数 6
  • 深度解剖dubbo源码

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

    81965 人正在学习 去看看 阿甘

下面是自己对深度学习过程中一些工具的知识点的总结,希望能对你有帮助。如果疑问或错误欢迎交流!

自己目前的程度也是比较浅的,但是算可以自己远程服务器,改代码,跑实验。

搭建好了这些基础环境后,接下来要做的就是多看论文多做实验了!

 

自己只是初探这个领域,接下来的新认识,还会不断更新此文章!

 

目录

环境

连接工具(基于win10)

穿透工具 

一些小工具 (需要可以找我要)

一些常用命令

Linux

anacoda 

深度入门

书籍 

视频

实践

写论文工具


 

环境

Anacoda3

python3

Pytorch

若有GPU,且是nvidia的  驱动cuda cudnn

编辑环境  pycharm

 

 

连接工具(基于win10)

Xshell  

WinSCP  

 

 

穿透工具 

frp

 

一些小工具 (需要可以找我要)

1、日志   按照大小、日期自动切分

2、计时  日志打印可以根据你的 输出类型

3、画图  读取日志文件

4、模型保存、加载

5、加载训练到一半(或者迭代次数希望增加)的模型再训练  加载工具

 

 

一些常用命令

Linux

查看机器硬件状况 top

查看GPU使用情况    nvdia -smi

动态查看GPU使用情况(每秒更新一次) watch -n 1 nvdia -smi

 

后台运行任务  nohup  python3 xxx.py &

 

静态查询任务日志

动态查询任务日志  tail --f nohup.out

 

查询任务 进程ID  ps -ef|grep python

彻底杀死进程  kill -9 ps_ID

 

anacoda 

更换镜像源   

查看、创建、修改、删除虚拟环境  

克隆虚拟环境

查询、安装、更新、卸载 包

 

深度入门

书籍 

神经⽹络与深度学习  (从人工神经元到深度学习,人工神经网络中的原理,涉及的细节还有参数都有比较详细而且直观的介绍。看完这个书,基本就对深度学习的代码的原理理解了)

花书 (别人推荐,我还 没看)

视频

莫烦

快速地了解Pytorch 框架里面关于深度学习的API还有一些基本操作

 

实践

MNIST 手写识别(基于Pytorch  pytorch对新手还是挺友好的,但是友好的说明了屏蔽了很多有用的细节,如果要深入学习的同学可以用tensorflow,或者可以去深究其中原理)

 

写论文工具

LaTex 

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