【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]