45、Docker 加 tensorflow的机器学习入门初步
【1】最近领导天天在群里发一些机器学习的链接,搞得好像我们真的要搞机器学习似的,吃瓜群众感觉好神奇呀。
第一步
其实也是最后一步,就是网上百度一下,Docker Toolbox,下载下来,下载,安装之后会有三个图标,这里给大家截一下图
不过,这三个图标首先我们都不需要去点击他们。为什么呢?看来这么多片博文,感觉最靠谱的就是这一篇了http://www.linuxidc.com/Linux/2016-07/133506.htm
需要先去点击Git Bash这个图标,然后,输入 notepad .bash_profile 创建和打开.bash_profile 配置文件
然后,在空白处输入(因为我想将以后的镜像都安装到D盘,此处可以修改你喜欢的盘符):
export MACHINE_STORAGE_PATH='D:\docker'
然后,关闭后,在D盘创建名为docker的文件夹,在其下创建名为cache的文件夹,将安装文件下的boot2docker.iso拷贝到该文件夹:
在Git Bash中输入更改路径命令,此处使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢。获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的管理中心(当然你得要有一个账户):
阿里云开发者平台:https://dev.aliyun.com/search.html
然后点击加速,Windows
复制红色方框中的代码,然后修改为如下(根据自己盘符修改):
docker-machine -s "D:\docker" create --engine-registry-mirror=https://vf29u5xi.mirror.aliyuncs.com -d virtualbox default
现在就可以在Git Bash中运行了:
虚拟机中出现如下界面:
此时可以点击Docker Quickstart Terminal:
同时,Docker Quickstart Terminal也已经登录进去:
这台docker machine创建后就启动了,如果下次我们再打开电脑,想要启动docker machine,可以打开Docker Quickstart Terminal或者Git Bash,然后执行下面的命令:
docker-machine start
来启动docker machine。
然后是安装tensorflow的镜像
$docker pull registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow
然后是运行这个镜像
$docker run -it registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow bash
端口转发(在浏览器Jupyter里编程)
$docker run -it -p 8888:8888 registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow bash
然后下边是一个tensorflow 运行的实例
这段很短的 Python 程序生成了一些三维数据, 然后用一个平面拟合它.
$ docker run -it registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow bash root@fdbcbdba4caa:/notebooks# python >>> import tensorflow as tf
>>> import numpy as np
>>> x_data = np.float32(np.random.rand(2,100))
>>> y_data = np.dot([0.100,0.200],x_data)+0.300
>>> b=tf.Variable(tf.zeros([1]))
>>> w=tf.Variable(tf.random_uniform([1,2],-1.0,1.0)) >>> y=tf.matmul(w,x_data)+b
>>> loss = tf.reduce_mean(tf.square(y-y_data))
>>> optimizer = tf.train.GradientDescentOptimizer(0.5)
>>> train = optimizer.minimize(loss) >>> init = tf.global_variables_initializer()
>>> sess = tf.Session()
>>> sess.run(init)
>>> for step in xrange(0, 201):
... sess.run(train)
... if step % 20 == 0:
... print step, sess.run(w), sess.run(b) 0 [[-0.13530743 0.69625872]] [ 0.179198]
20 [[ 0.05920886 0.33623493]] [ 0.24744007]
40 [[ 0.09391995 0.23908366]] [ 0.28211853]
60 [[ 0.09934434 0.21140608]] [ 0.29422382]
80 [[ 0.10002527 0.20336725]] [ 0.29818568]
100 [[ 0.10004984 0.2010016 ]] [ 0.29943922]
120 [[ 0.10002301 0.20029941]] [ 0.29982832]
140 [[ 0.10000845 0.20008977]] [ 0.29994777]
160 [[ 0.10000283 0.20002694]] [ 0.29998416]
180 [[ 0.10000092 0.20000809]] [ 0.29999521]
200 [[ 0.10000028 0.20000243]] [ 0.29999855]
45、Docker 加 tensorflow的机器学习入门初步的更多相关文章
- TensorFlow.NET机器学习入门【1】开发环境与类型简介
项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorF ...
- TensorFlow.NET机器学习入门【0】前言与目录
曾经学习过一段时间ML.NET的知识,ML.NET是微软提供的一套机器学习框架,相对于其他的一些机器学习框架,ML.NET侧重于消费现有的网络模型,不太好自定义自己的网络模型,底层实现也做了高度封装. ...
- TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归
上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量 ...
- TensorFlow.NET机器学习入门【4】采用神经网络处理分类问题
上一篇文章我们介绍了通过神经网络来处理一个非线性回归的问题,这次我们将采用神经网络来处理一个多元分类的问题. 这次我们解决这样一个问题:输入一个人的身高和体重的数据,程序判断出这个人的身材状况,一共三 ...
- TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)
从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png. ...
- TensorFlow.NET机器学习入门【6】采用神经网络处理Fashion-MNIST
"如果一个算法在MNIST上不work,那么它就根本没法用:而如果它在MNIST上work,它在其他数据上也可能不work". -- 马克吐温 上一篇文章我们实现了一个MNIST手 ...
- TensorFlow.NET机器学习入门【7】采用卷积神经网络(CNN)处理Fashion-MNIST
本文将介绍如何采用卷积神经网络(CNN)来处理Fashion-MNIST数据集. 程序流程如下: 1.准备样本数据 2.构建卷积神经网络模型 3.网络学习(训练) 4.消费.测试 除了网络模型的构建, ...
- TensorFlow.NET机器学习入门【2】线性回归
回归分析用于分析输入变量和输出变量之间的一种关系,其中线性回归是最简单的一种. 设: Y=wX+b,现已知一组X(输入)和Y(输出)的值,要求出w和b的值. 举个例子:快年底了,销售部门要发年终奖了, ...
- TensorFlow.NET机器学习入门【8】采用GPU进行学习
随着网络越来约复杂,训练难度越来越大,有条件的可以采用GPU进行学习.本文介绍如何在GPU环境下使用TensorFlow.NET. TensorFlow.NET使用GPU非常的简单,代码不用做任何修改 ...
随机推荐
- 为毛无法创建文本文件COM1.txt
是的,windows系统下,右键,新建文本文件,将文件名编辑为COM1.txt,确认,保存……THEN....你会发现无论如何也无法创建一个文本文件,名为COM1.txt. 猜是COM1被作为了IO设 ...
- Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)
public void mearge(Map map) { Map returnMap = new HashMap<>(); // 转换为Entry Set<Map.Entry< ...
- PHP购物车类
<?php /** * 购物车类 */ session_start(); class Cart{ private static $ins = null; private $items = arr ...
- ASP.NET中控件命名规则
控件名 简写 控件名 简写 Web 窗体 Label lbl TextBox tb Button btn LinkButton lb HyperLink hl Repeator rpt ImageBu ...
- 也说php从mysql数据库通过服务器端json返回数据出现乱码问题
我最近需要用js和json与mysql数据库做一个两级联动的下拉菜单,发现当从数据库中返回的是中文时客户端会出现乱码问题,经过在百度上查找终于找到了解决办法如下: while($row=$MySqlc ...
- HUD 4007 [扫描线][序]
/* 大连热身B题 不要低头,不要放弃,不要气馁,不要慌张 题意: 坐标平面内给很多个点,放置一个边长为r的与坐标轴平行的正方形,问最多有多少个点在正方形内部. 思路: 按照x先排序,然后确定x在合法 ...
- Python基础篇【第5篇】: Python内置模块(二)
内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...
- [转载]Java程序员使用的20几个大数据工具
最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具. 这是一个系列,主题为: 语言web框架应用服务器SQL数据访问工具SQL数据库大数据构建工具云提供商今天我们就要说说大数据 ...
- Spring注解学习
参考链接 http://blog.csdn.net/xyh820/article/details/7303330/
- 【HEVC】1、HM-16.7编码器的基本结构
编码器在整个HM解决方案中的工程名为TAppEncoder,入口点函数位于encmain.cpp文件中: int main(int argc, char* argv[]) { TAppEncTop c ...