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]

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM