1. 推薦閱讀
Python基礎(chǔ)入門一文通 | Python2 與Python3及VSCode下載和安裝、PyCharm破解與安裝篱瞎、Python在線IDE蒜绽、Python視頻教程:https://blog.csdn.net/COCO56/article/details/95542228
2. 本文地址
- 博客園:https://www.cnblogs.com/coco56/p/11205816.html
- 簡(jiǎn)書:http://www.reibang.com/p/7eabfdcad379
- CSDN:https://blog.csdn.net/COCO56/article/details/96424239(無內(nèi)容裕坊,僅做轉(zhuǎn)發(fā)使用)
3. 按
Colaboratory 是一個(gè)谷歌提供的 Jupyter notebook環(huán)境舟肉,不需要進(jìn)行任何設(shè)置就可以使用修噪,完全在云端運(yùn)行,不占用本地資源度气,另外Colaboratory完全免費(fèi)割按。
4. 使用篇
- 準(zhǔn)備階段
Colaboratory是一款谷歌服務(wù)膨报,這里我推薦使用chrome瀏覽器+谷歌訪問助手磷籍,這樣在訪問谷歌相關(guān)網(wǎng)站的時(shí)候就非常的方便。另外现柠,Colaboratory的正常使用需要依托谷歌賬號(hào)院领,如果沒有的話建議注冊(cè)一個(gè)。
谷歌訪問助手官網(wǎng):http://www.ggfwzs.com/
以上工作都完成后够吩,就可以登陸Colaboratory網(wǎng)站來體驗(yàn)一番了比然,下面這幅圖就是Colaboratory(以下簡(jiǎn)稱colab)的介紹頁面。
官網(wǎng)地址:https://colab.research.google.com/
-
基本用法
用過jupyter notebook的朋友應(yīng)該對(duì)這個(gè)界面非常的熟悉周循,事實(shí)上colab的操作與普通的notebook相似度非常高强法,下面我們就新建一個(gè)Python3的notebook(下圖)万俗,簡(jiǎn)單地演示一下它的基本用法。
點(diǎn)擊“新建PYTHON3 記事本”
在下圖中的代碼框中輸入Python代碼饮怯,點(diǎn)擊左側(cè)的按鈕執(zhí)行程序闰歪,就會(huì)在下方輸出打印結(jié)果,由于程序第一次運(yùn)行之前colab會(huì)自動(dòng)連接云端服務(wù)器蓖墅,所以速度可能會(huì)有點(diǎn)慢库倘。
值得一提的是,上面這個(gè)代碼框可不是只能執(zhí)行Python代碼论矾,你還可以把它當(dāng)作ubuntu的終端來使用教翩,只不過要在所有需要執(zhí)行的指令之前加一個(gè)“!”號(hào)。例如贪壳,我們?nèi)绻氩榭串?dāng)前的云端服務(wù)器中自帶了哪些Python庫的話饱亿,可以執(zhí)行“! pip list”指令,結(jié)果如下:
可以看到闰靴,colab默認(rèn)安裝了大量的Python第三方庫路捧,就數(shù)據(jù)科學(xué)方面的庫而言,colab的自帶庫應(yīng)該會(huì)比Anaconda更加完善传黄。
既然可以使用pip指令杰扫,那如果想安裝其他Python庫的時(shí)候也可以很方便地安裝了,我拿tushare做了一個(gè)試驗(yàn)膘掰,結(jié)果如下:
除了python庫之外章姓,使用這種方式還可以執(zhí)行其他linux指令來部署你自己的云端環(huán)境,別忘了在指令前加一個(gè)“!”號(hào)就好识埋。
5. 配置篇
-
常用配置
我個(gè)人認(rèn)為最常用的配置項(xiàng)主要集中在兩個(gè)地方:
一是"工具"中的偏好設(shè)置(下圖)凡伊,在這里可以設(shè)置主題背景(共分light和dark兩種)、縮進(jìn)寬度等風(fēng)格窒舟,有趣的是colab還自帶coding特效系忙,如果威力等級(jí)一欄選擇了“many power”,那么在寫代碼的過程中就會(huì)產(chǎn)生非常炫酷的效果惠豺。
二是“修改”中的筆記本設(shè)置银还,這里可以設(shè)置運(yùn)行時(shí)的python版本和硬件加速器。說到這里不得不佩服谷歌洁墙,居然提供了GPU和CPU兩種加速模式蛹疯,只要在選項(xiàng)中進(jìn)行設(shè)置,就可以免費(fèi)獲取額外的算力热监,這下通過在線編輯器使用TensorFlow再也不是夢(mèng)想了捺弦。
除此之外,colab還允許通過共享的方式邀請(qǐng)他人共同討論、完善代碼;如果你不想將代碼放到云端服務(wù)器中運(yùn)行列吼,還可以連接本地的開發(fā)環(huán)境運(yùn)行程序(下圖)幽崩。
也可以將colab與github相關(guān)聯(lián),把notebook中的代碼備份到GitHub中...關(guān)于這些內(nèi)容寞钥,本文不進(jìn)行詳細(xì)說明歉铝,有興趣的小伙伴可以自行嘗試。
- 云盤掛載
先來說說掛載云端硬盤的重要性凑耻。colab中的代碼文件是放在云端服務(wù)器中運(yùn)行的太示,但存儲(chǔ)的位置卻是同一賬戶的谷歌云端硬盤,如果不進(jìn)行關(guān)聯(lián)設(shè)置香浩,colab會(huì)默認(rèn)將notebook文件放到云端硬盤根目錄下的“Colab Notebooks”文件夾中类缤。
谷歌云盤官網(wǎng):https://drive.google.com/drive/my-drive
colab的notebook在云端服務(wù)器中運(yùn)行期間是沒辦法直接讀取本地文件的(比如數(shù)據(jù)集),如果想讓程序讀取指定文件邻吭,只能將其放到谷歌云端硬盤中餐弱,然后將云端硬盤掛載到colab。
如果在colab中保存過notebook文件囱晴,系統(tǒng)將會(huì)自動(dòng)關(guān)聯(lián)你的colab和云端硬盤賬戶膏蚓,否則需要在云端硬盤中進(jìn)行手動(dòng)關(guān)聯(lián)(此處略)。然后在代碼框中輸入以下代碼并運(yùn)行畸写。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
運(yùn)行過程中會(huì)出現(xiàn)下圖中的提示驮瞧,點(diǎn)擊鏈接進(jìn)行授權(quán)驗(yàn)證,將授權(quán)碼輸入到鏈接下的文本框中枯芬,按回車鍵繼續(xù)執(zhí)行论笔。
注意:不同的環(huán)境在這一步的執(zhí)行情況可能會(huì)不太一樣,需要靈活對(duì)待千所。
接著再執(zhí)行下面兩行代碼狂魔,由于我在掛載前云端硬盤中有文件,所以加上了nonempty參數(shù)淫痰,否則可以忽視最楷。
!mkdir -p drive
!google-drive-ocamlfuse -o nonempty drive
順利的話,到這里云盤掛載就完成了待错,默認(rèn)掛載的云盤根目錄路徑是’drive‘籽孙,我們來檢驗(yàn)一下(下圖),可以看到輸出的內(nèi)容和云端硬盤中的文件是一致的朗鸠。
import os
print(os.getcwd())
print(os.listdir('.'))
print(os.listdir('drive/Colab Notebooks'))
這樣一來蚯撩,我們就可以將文件放到云盤中供colab讀取,或者將colab的運(yùn)行結(jié)果輸入到云盤中了烛占。
6. 教學(xué)篇
colab作為一款在線編輯器,通過云計(jì)算讓我們擺脫了裝備的限制,不管什么設(shè)備忆家,只要能連上谷歌的網(wǎng)絡(luò)服務(wù)犹菇,就可以使用云端的服務(wù)器,處理云端的數(shù)據(jù)集芽卿;同時(shí)揭芍,對(duì)于工作地點(diǎn)不固定的人來說,也省去了反復(fù)配置環(huán)境和拷貝文件的麻煩卸例。
然而称杨,colab給自己的定位卻是旨在幫助傳播機(jī)器學(xué)習(xí)培訓(xùn)和研究成果,所以Colab還關(guān)聯(lián)了一個(gè)非常優(yōu)秀的機(jī)器學(xué)習(xí)學(xué)習(xí)平臺(tái)筷转。
點(diǎn)擊上圖中的“完整課程網(wǎng)站”鏈接進(jìn)入教學(xué)網(wǎng)站姑原,這里不僅有非常完善的學(xué)習(xí)資料,還可以根據(jù)每個(gè)人的基礎(chǔ)制定不同的學(xué)習(xí)計(jì)劃呜舒,更難得的是锭汛,無論視頻、語音還是文字資料都可以選擇中文模式(雖然中文朗讀疑似語音合成)袭蝗。
除了教學(xué)網(wǎng)站唤殴,colab還有大量交互式機(jī)器學(xué)習(xí)分析的端到端示例(seedbank)供學(xué)習(xí)和練習(xí),所有seedbank中的項(xiàng)目都可以一鍵導(dǎo)入colab中運(yùn)行(下圖)到腥。
關(guān)于Colaboratory今天就簡(jiǎn)單介紹到這里朵逝,明明是款編輯器,卻集成了教學(xué)功能乡范,真的堪稱史上最強(qiáng)廉侧。由于篇幅有限,一些細(xì)節(jié)和功能都沒有介紹篓足,有興趣的同學(xué)可以探索體驗(yàn)一下段誊。