數據分析及機器學習環境配置(docker極簡入門指南)
導語
做數據科學一般需要用到類似XGBOOST、TensorFlow之類的庫,這些庫在win下不是那麼好安裝的,但是很多人又需要它們,那怎麼辦呢,最簡單的就是用docker的方式,不僅具備一個linux虛擬環境,還可以同時使用windows。
它其實是一個相當易用的軟體,本文不教太多命令,因為我也不會,只會講幾個基本命令。本文就講講如何在win10下如何安裝使用docker
一:docker是什麼?
docker是什麼,官方說這叫容器,但確實難以理解,入門的把它理解為輕量級虛擬機就好
二:為什麼要用docker?
一些使用windows系統的用戶在安裝python庫、tensorflow、xgboost等時經常遇到安裝不了或者編譯問題等
不用研究如何安裝linux,直接在win下獲得linux環境,使用強大的linux shell
解決python環境污染問題
方便保持各種包及庫為最新狀態,從手動更新變成docker鏡像市場更新
方便結果復現,你只要指定相同的鏡像版本,那麼每一台機子運行環境都是一樣的,不會出現把程序發給別人了,但是別人無法運行的問題。
三:docker 的簡單入門教程
1. 下載安裝docker
首先當然是去官網下載啦,進入Docker,點擊圖上的圖標,我們可以看出如果用win10那麼你必須要安裝專業版或者旗艦版,家庭版的win10隻能悲劇去和win7一樣安裝就docker toolbox啦,這裡就不展開講了。默認你是win10專業版,如果你不是,那麼你就變身吧……
2. 下載安裝docker
這個一般就是不停的點下一步下一步,過…
如果有提示,可能是需要你開啟hyper-v或者進BIOS里開啟虛擬化,跟著提示來走即可
3. 啟動docker
雙擊這個圖標就運行起來了,右下角如圖4. 拉取鏡像
按win+r並輸入cmd後回車,打開cmd後輸入以下命令拉取kaggle官方製作的一個鏡像,裡面封裝好了xgboost、anaconda、tensorflow等常用的庫及軟體,而且kaggle還會不斷的更新,省的自己來update。docker市場還有各種鏡像,比如mysql、ubuntu等,隨你挑選。
docker pull kaggle/pythonn
要下載幾個G,安心等吧,如果下不了那麼就去daocloud 註冊個賬號弄個加速吧。
5. 建立一個文件夾來交換文件
此處我們在D盤建立一個kaggle文件夾來與虛擬機交互文件,繼續在cmd中輸入下面的命令進入d盤,然後新建一個文件夾叫做kaggle
cd /d d:nmkdir kagglen
那麼我們的需要交互的文件夾的就欽定位「D:/kaggle」了,以後在linux中就可以直接訪問win下的kaggle文件夾了
6.修改docker設置
在docker圖標上右鍵,選擇settings。在advanced中可以多分配一些資源給docker;在shared drives中選擇D盤,點擊apply,需要輸入win10賬號密碼,等待docker重啟完成。
7. 運行鏡像
然後從鏡像創建一個容器來運行,繼續輸入
docker run --name kaggle -v D:/kaggle:/tmp/working/kaggle -w=/tmp/working -p 8888:8888 -d -it kaggle/python jupyter notebook --no-browser --ip="0.0.0.0" --notebook-dir=/tmp/workingn
運行後結果如圖,如果沒有報錯就代表成功了。簡單解釋一下 —name kaggle 代表我們給它起名叫kaggle;同時指定一個交換目錄,把win下的d:/kaggle 映射到linux下的/tmp/working/目錄;埠號都設置為8888;-d 代表在後台運行 ;jupyter notebook —no-browser 代表不用瀏覽器的方式運行notebook,因為我們用win10下的瀏覽器。
8. 進入容器找到token
現在notebook有一個安全驗證,需要得到token才能使用,我們繼續輸入
docker exec -it kaggle bashn
這樣就進入linux的bash了,你可以隨意輸入一些shell命令,比如apt,ls,pip等等,
此次我們輸入
jupyter notebook listn
將token= 後面的一串字元「512bc…..4ed0」複製出來,獲取token後輸入
exitn
退出bash
9. 運行notebook
這個時候可以使用jupyter notebook了,瀏覽器中輸入地址
localhost:8888n
訪問的就是是docker里的notebook,黏貼我們剛才複製得到的token;接著新建一個notebook,然後測試一下導入庫是否成功
完美~~~
10. 停止容器
如果我們不用了,可以停止容器
docker stop kagglen
11.重新啟用容器
我們如果要運行之前的容器只需輸入
docker start kagglen
也就是只要第一次完成了,之後就只要11-12步驟就可以啟用關閉容器了,是不是非常簡單。
12.更新docker(可選)
如果kaggle更新了鏡像,只需要
docker pull kaggle/pythonn
就可以用到他們提供的最新包了,當然這樣的話就需要重新執行8-10步驟了,並且用docker rmi xxx 來移除掉過時的鏡像。
PS
1.在win10專業版 v1607+docker V1.13.1下測試通過
2.部分C盤較小的人,可以在第7步的advanced標籤下修改存放鏡像的位置
3.本文採用markdown here渲染完成,有點丑
4.建議用kitmateic來管理容器,非常直觀漂亮
推薦閱讀:
※如何可視化城市的交通便捷性
※快訊 | 5月份新包推薦
※請問下從事數據科學需要哪些計算機方面知識?
※使用 TensorFlow 做文本情感分析
※国外学data science也就是大数据这种专业回国是不是不好找工作?