• 0. 说明
  • 1. 概览
  • 2. 接近原生unity桌面的操作体验!
  • 3. 自适应分辨率
  • 4. 终端
  • 4. 修改密码
  • 5. 文件传输
  • 7. 火狐浏览器崩溃问题修复
  • 8. Jupyter notebook启动问题
    • Anaconda注意事项

0. 说明

转载请注明原始出处!

项目地址:
https://github.com/LeoCHANGcn/Nvidia-docker-Ubuntu-16.04-Unity-Desktop-TensorFlow-with-GPU.

由于一般的服务器都是Linux系统,并且考虑到隔离用户,最好的方法是使用Docker容器,docker类似于虚拟机,但是很轻量,效率很高,可以使用显卡资源!好多实验室或者研究团体使用docker为团队成员提供计算资源。但是这存在一个问题,就是docker本身是没有图形界面的,因此需要查看模型效果的时候不是很方便。

本项目旨在在GPU服务器的服务端配置可视化容器,满足大家的深度学习要求的同时,提供一个类似原生系统的操作体验。本项目可以在浏览器里为你提供一个接近原生的操作系统,在浏览器的系统里面进行深度学习编程!

开始之前,你需要对docker有一些了解。然后电脑需要一个满足深度学习要求的强悍显卡,电脑需要安装了dockr以及nvidia-docker。Docker和nvidia-docker请自行搜索官网安装。

如果感觉不错,可以github上给一颗星哦!

1. 概览

  • 友好的人机交互界面
  • 自适应浏览器分辨率
  • opencv3.4 (GPU加速版)
  • tensorflow1.6
  • CUDA9.0
  • cudnn 7
  • 自行更改密码,个人信息更安全
  • 丰富的端口映射
  • 安全的数据管理机制
  • 丰富的容器内应用

2. 接近原生unity桌面的操作体验!

首先:

git clone https://github.com/LeoCHANGcn/Nvidia-docker-Ubuntu-16.04-Unity-Desktop-TensorFlow-with-GPUcd Nvidia-docker-Ubuntu-16.04-Unity-Desktop-TensorFlow-with-GPU

你可以根据github里的命令进行编译:

sudo nvidia-docker build -t leeochang/deep_learning:v0.1 .

或者直接pull:

sudo docker pull leeochang/deep_learning:v0.1

然后在服务器运行:

sudo nvidia-docker run -itd -p 16068:6080 -p 16062:22 -e PASSWORD=0000 -e SUDO=yes leeochang/deep_learning:v0.1

-e PASSWORD=**** 设置密码(作为noVNC登陆密码和系统密码)
-e SUDO=yes 设置登录后允许root权限
-p 暴露端口 6080是登陆界面提供端口;22是ssh端口

在本地打开浏览器,输入

 http://[your ip address]:16068/vnc.html

然后就可以登陆了!

3. 自适应分辨率

浏览器左侧控制栏进行如下选择可以自适应分辨率(选择远端调整大小):

4. 终端

由于gnome terminal在容器里无法运行,所以配置了guake(推荐)和tilda两款终端仿真器。这两款终端仿真器都是雷神下拉式风格。

搜索guake启动guake终端,然后使用“F12”快捷键调出。


已经配置好了opencv3.2 Tensorflow1.6 等

4. 修改密码

使用如下命令修改密码,密码至少是8位数字、子母的组合

passwd

输入此命令后,根据提示修改密码。修改密码主要保证个人容器无法被其他人登录。

注意,这里的修改密码是修改的ubuntu系统的密码,第一步登录novnc的密码还是你一开始设置的密码,不过不要紧,本次更新为容器配置了锁屏功能,输入以下命令锁屏:

gnome-screensaver-command -l

如果感觉这条指令太长,可以使用自定义命令,输入如下命令:

vim .bashrc

在文件尾添加‘:

alias lock="gnome-screensaver-command -l"

保存并退出,然后:

source .bashrc

这样以后你只需要输入’lock’就可以锁屏了!

5. 文件传输

对于linux用户,可以暴露22端口,然后使用scp命令;
windows可以使用mobaXterm软件,MobaXterm软件下载.

安装完成后打开,点击“start local terminal”

通过监控网站找到容器内对应22端口的主机端口,比如我的是16062,所以输入(下面一条指令每个用户只需要替换端口号即可):

ssh -p 16062 ubuntu@10.193.0.11

输入你修改后的密码:

然后左侧就会出现文件夹,你可以拖拽下载或者上传

7. 火狐浏览器崩溃问题修复

容器内火狐浏览器崩溃:

  • 做如下修复:地址栏输入about:preferences,将performance里面的选项按照下图取消勾选:

  • 然后地址栏输入about:config,作如下修改(双击对应项即可)
  • browser.tabs.remote.autostart = false
  • webgl.disable-wgl = true
  • webgl.disabled = true
  • webgl.enable-webgl2 = false

完成上述指令后,重启火狐浏览器即可。

目前使用中没有观察到过浏览器崩溃的情况。

8. Jupyter notebook启动问题

无论是用anaconda安装虚拟环境还是使用原生python安装jupyter,在启动的时候推荐:

jupyter notebook --ip=0.0.0.0

不推荐ip=127.0.0.1,因为这样无法在本地浏览器访问,只能在容器内的火狐浏览器访问,虽然火狐的崩溃问题在刚刚修复了,但是并不确定这些修复可以完全避免崩溃。

Anaconda注意事项

容器内没有配置Anacondaa,但是可以自行配置。

andocnda创建环境的时候,由于opencv是为python3.5和python2.7编译的,所以opencv只能在这两个python版本或更低的版本下使用(亲测python3.6失败)。具体方法是conda创建虚拟环境之后,把/usr/local/lib/python3.5/dist-packages目录下的cv2.so和cv2.cpython-35m-x86_64-linux-gnu.so复制到你的虚拟环境目录下lib/python3.5/site-packages即可使用。

docker在浏览器里为你提供深度学习系统!相关推荐

  1. 智源青年科学家候选人 | 张祥雨:挑战自动化深度学习系统

    4月16日,北京智源人工智能研究院发布"智源学者计划",宣布重点支持四类人才:智源科学家首席(CS).智源研究项目经理(PM).智源研究员(PI),以及智源青年科学家. 其中,智源 ...

  2. Kubernetes-native 弹性分布式深度学习系统

    9月11日,蚂蚁金服在 Google Developer Day Shanghai 2019 上宣布开源了基于 TensorFlow 2.0 eager execution 的分布式深度学习系统 El ...

  3. 深度学习系统框架的演进趋势

    如果我们回看整个智能汽车系统架构的演进过程,汽车的电子电气架构经历了"直联","总线","域控"三个阶段,从离散走向集中,构筑了硬件架构变化 ...

  4. TensorFlow 学习指南:深度学习系统构建详解

    内容简介 面向广泛的技术受众(从数据科学家.工程师到学生和研究人员),本书介绍了 TensorFlow 的基本原理和实践方法.从 TensorFlow 中的一些基本示例开始,深入探讨诸如神经网络体系结 ...

  5. ElasticDL: Kubernetes-native 弹性分布式深度学习系统

    9月11日,蚂蚁金服在 Google Developer Day Shanghai 2019 上宣布开源了基于 TensorFlow 2.0 eager execution 的分布式深度学习系统 El ...

  6. 如何攻击深度学习系统?--可解释性及鲁棒性研究

    0x00 人工智能广泛渗透于我们的生活场景中,随处可见.比如人脸识别解锁.人脸识别支付.语音输入,输入法自动联想等等,不过这些场景其实传统的模式识别或者机器学习方法就可以解决,目前来看真正能代表人工智 ...

  7. 谷歌新深度学习系统可以促进放射科医生的发展

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 谷歌人工智能研究人员团队在<自然>上发表了一篇新论文,深度学习可以检测出异常胸部 X 光片,其准确度可与专业放射科医 ...

  8. 哈佛医学院解析:触发医学深度学习系统受到「对抗攻击」的诱因有哪些?

    原文来源:arXiv 作者:Samuel G. Finlayson.Isaac S. Kohane.Andrew L. Beam 「雷克世界」编译:EVA 对抗样本的发现引起了人们对深度学习系统的实际 ...

  9. 糖尿病视网膜病变的深度学习系统笔记

    糖尿病视网膜病变的深度学习系统笔记 论文地址:A deep learning system for detecting diabetic retinopathy across the disease ...

最新文章

  1. Linux那些事儿 之 戏说USB(9)面纱
  2. python grequests极限_Python使用grequests并发发送请求
  3. 预付卡管理信息系统_校园寝室桶装水配送管理信息系统分析和设计
  4. WordCount 实例
  5. 【C++学习】对私有构造析构函数的思考:new一个类对象vs直接创建类对象
  6. iOS小技巧---改变uisearchbar中的cancel按钮的文字、取消clearButton
  7. 28-33Linux目录指令
  8. 用三层交换机实现大中型企业VLAN
  9. WLAN802.11n新技术详解
  10. 应用安全-Web安全-SSRF攻防
  11. 拓端tecdat|互联网热门职位薪资对比报告
  12. aix系统服务器日志外发,AIX系统日志
  13. Gut Microbes:南医大刘星吟组-孤独症的基因变异与肠道微生物群、代谢物和细胞因子的改变有关...
  14. VSCode 常用编程字体
  15. 智能化监狱室内人员定位管理系统,RFID室内定位方案更加智能-新导智能
  16. CMYK配色表和RGB配色表
  17. win10 wifi连接不上服务器未响应,Win10连不上WiFi怎么办?Win10连不上WiFi解决方法介绍...
  18. svn多分支开发合并技巧(idea or tortoiseSVN)
  19. 适合前端Vue开发童鞋的跨平台Weex
  20. 【Hostapd support for WPA3 R3 Wi-Fi Security】

热门文章

  1. 大湾区创新创业孵化基地开展常态化项目申报,引入区块链与量子信息企业 | 产业区块链发展周报...
  2. JAVA 随机数生成方式
  3. ps4 DNS服务器未响应,DNS是什么为什么连不上网络
  4. 计算机二级java有哪些题_计算机二级java试题及答案
  5. 2010年下半年书单
  6. 关于url网上下载安装包(java)
  7. 实例4,循迹模块的使用和循迹小车的实现
  8. 最大后验概率译码、最大似然译码
  9. ubuntu修改时区,tzselect报错: /usr/share/zoneinfo/iso3166.tab: No such file or directory
  10. 1.6 Illustrator视图的保存与载入