概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的机器学习开发环境,探索人工智能的奥秘,容器随开随用方便快捷。源码解析TensorFlow容器创建和示例程序运行,为热爱机器学者降低学习难度。

默认机器已经装好了Docker(Docker安装和使用可以看我另一篇博文:Ubuntu16.04安装Docker1.12+开发实例+hello world+web应用容器)。

1.下载TensorFlow镜像

docker pull tensorflow/tensorflow
#或者
#sudo docker pull tensorflow/tensorflow

2.创建TensorFlow容器,源码解读

docker run --name xiaolei-tensortflow -it -p 8888:8888 -v ~/tensorflow:/notebooks/data  tensorflow/tensorflow
  • docker run运行镜像,
  • --name为容器创建别名,
  • -it保留命令行运行,
  • -p 8888:8888将本地的8888端口http://localhost:8888/映射,
  • -v ~/tensorflow:/notebooks/data 将本地的~/tensorflow文件夹挂载到新建容器的/notebooks/data下(这样创建的文件可以保存到本地~/tensorflow)
  • tensorflow/tensorflow为指定的镜像,默认标签为latest(即tensorflow/tensorflow:latest)

3.开启TensorFlow容器

3.1.可以直接从命令行中右键打开连接,或者在浏览器中输入localhost:8888,然后将命令行中的token粘贴上去。

4.开始TensorFlow编程(Python语言)

4.1.在首页可以New一个Python项目

4.2.tensorflow示例源码解读

from __future__ import print_function
#导入tensorflow
import tensorflow as tf
#输入两个数组,input1和input2然后相加,输出结果
with tf.Session():
input1 = tf.constant([1.0, 1.0, 1.0, 1.0])
input2 = tf.constant([2.0, 2.0, 2.0, 2.0])
output = tf.add(input1, input2)
result = output.eval()
print("result: ", result)

4.3.运行程序,输出的结果为(运行成功)

result:  [ 3.  3.  3.  3.]

5.其他 linux,TensorFlow,Docker相关操作

5.1.关闭TensorFlow和开启TensorFlow环境

#关闭tensorflow容器
docker stop xiaolei-tensortflow #开启TensorFlow容器
docker start xiaolei-tensortflow
#浏览器中输入 http://localhost:8888/

5.2.解决文件的读写权限

#查看读写权限
ls -l
#将tensorflow 变为属于xiaolei(系统默认)用户
sudo chown -R xiaolei tensorflow/
#将tensorflow 变为属于xiaolei(系统默认)用户组
sudo chgrp -R xiaolei tensorflow/

最新文章

  1. RabbitMQ详解
  2. pom 详解
  3. 在linux使用make编译ArduPilot for Pixhawk/PX4 ArduPilot 编译环境搭建
  4. 【python】getopt使用
  5. TCP及IP报头及协议
  6. 全新的手势,侧滑返回、全局右滑返回都OUT啦!
  7. bzoj 2734 [HNOI2012]集合选数 状压DP+预处理
  8. Qt 之 QtScript
  9. HUD3336
  10. 如何只克隆git仓库中的一个分支?
  11. H2Engine游戏服务器设计之属性管理器
  12. R语法学习 第十二篇:因子
  13. stylus入门学习笔记
  14. 【不做标题党,只做纯干货】HashMap在jdk1.7和1.8中的实现
  15. 看淘宝营销api 文档有感
  16. Swift学习笔记9--错误控制
  17. Android动态控制状态栏显示和隐藏
  18. 【HubbleDotNet】HubbleDotNet配置安装注册key获取
  19. 记录php漏洞--宇宙最强语言 PHP 爆出 DoS 漏洞,可以直接灌满 CPU
  20. Django1.7如何配置静态资源访问

热门文章

  1. [Postman]证书(13)
  2. docker安装及配置
  3. 四、activiti工作流-第一个HelloWorld
  4. Ubuntu下OpenCV版本切换
  5. H5拖动实现代码
  6. 使用FormData格式在前后端传递数据
  7. vue-13-swiper组件的使用
  8. springboot情操陶冶-@SpringBootApplication注解解析
  9. Mysql加锁过程详解(7)-初步理解MySQL的gap锁
  10. python装饰器1:函数装饰器详解