數據分析及機器學習環境配置(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也就是大数据这种专业回国是不是不好找工作?

TAG:xgboost | 数据科学家 | Docker |