Google線上深度學習神器Colab
- Colab是google最近推出的一項Python線上程式設計的免費服務, 有了它,不學Python程式設計的理由又少了一個
- Colab環境已經整合了流行的深度學習框架Tensorflow,並附贈了一個虛擬機器(
40GB
硬碟+2*2.30GHZ
CPU+12.72GB
記憶體),如果在國內無法訪問google的服務又不想科學上網, 可以考慮微軟推出的 notebook- Colab的操作類似於jupyter notebook
- Colab如同使用 Google 文件或表格一樣儲存在 Google雲端硬碟中,並且可以共享
1. Colab 執行終端命令
google為我們提供的Colab服務繫結一個Ubuntu虛擬機器(40GB硬碟+2*2.30GHZ CPU+12.72GB記憶體), 我們只要在Colab中輸入以
!
開頭的終端命令即可
- 檢視虛擬機器硬碟容量
!df -lh
- 檢視cpu配置
!cat /proc/cpuinfo | grep model name
- 檢視記憶體容量
!cat /proc/meminfo | grep MemTotal
- 安裝python依賴包
# 安裝requests, 爬蟲必備
!pip install requests
# 安裝 lxml, 解析xpath語法
!pip install lxml
- 安裝 git
# 將獲取的資料同步到github倉庫
!apt install git
2. 用Colab編寫線上爬蟲,並線上展示成果
!pip install lxml
import os
import requests
from lxml import etree
# 負責下載電影海報
def download_img(db_id, title, img_addr, headers):
# 如果不存在圖片資料夾,則自動建立
if os.path.exists("./Top250_movie_images/"):
pass
else:
os.makedirs("./Top250_movie_images/")
# 獲取圖片二進位制資料
image_data = requests.get(img_addr, headers=headers).content
# 設定海報存儲存的路徑和名稱
image_path = "./Top250_movie_images/" + db_id[0] + "_" + title[0] + `.jpg`
# 儲存海報圖片
with open(image_path, "wb+") as f:
f.write(image_data)
# 根據url獲取資料,並列印到螢幕上,並儲存為檔案
def get_movies_data(url, headers):
# 獲取頁面的響應內容
db_response = requests.get(url, headers=headers)
# 將獲得的原始碼轉換為etree
db_reponse_etree = etree.HTML(db_response.content)
# 提取所有電影資料
db_movie_items = db_reponse_etree.xpath(`//*[@id="content"]/div/div[1]/ol/li/div[@class="item"]`)
# 遍歷電影資料列表,
for db_movie_item in db_movie_items:
# 這裡用到了xpath的知識
db_id = db_movie_item.xpath(`div[@class="pic"]/em/text()`)
db_title = db_movie_item.xpath(`div[@class="info"]/div[@class="hd"]/a/span[1]/text()`)
db_score = db_movie_item.xpath(`div[@class="info"]/div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()`)
db_desc = db_movie_item.xpath(`div[@class="info"]/div[@class="bd"]/p[@class="quote"]/span[@class="inq"]/text()`)
db_img_addr = db_movie_item.xpath(`div[@class="pic"]/a/img/@src`)
print("編號:",db_id,"標題:",db_title, "評分:",db_score,"電影描述:", db_desc)
# a表示追加模式, b表示以二進位制方式寫入, + 表示如果檔案不存在則自動建立
with open("./douban_movie_top250.txt", "ab+") as f:
tmp_data = "編號:"+str(db_id)+"標題:"+str(db_title)+"評分:"+str(db_score)+"電影描述:"+ str(db_desc)+"
"
f.write(tmp_data.encode("utf-8"))
db_img_addr = str(db_img_addr[0].replace("`", ""))
download_img(db_id, db_title, db_img_addr, headers)
def main():
# 使用列表生成式,生成待爬取的頁面url的列表
urls = ["https://movie.douban.com/top250?start="+str(i*25) for i in range(10)]
# 設定請求頭
headers = {
# 設定使用者代理頭(為狼披上羊皮)
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
}
# 為避免重複執行程式,造成內容重複,這裡把上次的檔案清除(可跳過)
if os.path.isfile("./douban_movie_top250.txt"):
os.remove("./douban_movie_top250.txt")
# 從列表取出url進行爬取
for url in urls:
get_movies_data(url, headers)
if __name__ == `__main__`:
main()
import os
from IPython.display import display, Image, FileLink
names = [f for f in os.listdir(`./Top250_movie_images/`)]
display(FileLink("./douban_movie_top250.txt"))
for name in names:
display(Image(`./Top250_movie_images/` + name))
3.線上機器學習,決策樹案例 – 泰坦尼克乘客存活狀況
4. 線上學習Python程式設計
推薦一: 菜鳥教程
推薦二: 廖雪峰的官方網站
5.儲存當前Colab檔案
- Colab檔案和Google的線上文件一個性質,不需要儲存!
6. 將當前的Colab轉換為python標準檔案,並儲存到本地
7. 共享Colab程式
Colab資源可以以連結方式共享給其他人, 其他人可以直接線上執行, 觀看效果
小技巧:
- 如何獲取線上環境的公網地址: Python3獲取本機公網ip(爬蟲法)
- 如何與線上環境進行檔案互傳: 通過Github倉庫進行資料同步是不錯的選擇!
相關文章
- 在 Google Colab 中快速實踐深度學習Go深度學習
- 深度學習,機器學習神器,白嫖免費GPU深度學習機器學習GPU
- Google Colab 免費GPU 教程GoGPU
- 在 Google Colab 中使用 JuiceFSGoUI
- 教你使用Keras on Google Colab(免費GPU)微調深度神經網路KerasGoGPU神經網路
- 10 大線上免費深度學習課程深度學習
- [譯] Google Colab 免費 GPU 使用教程GoGPU
- 深度學習(一)深度學習學習資料深度學習
- 推薦閱讀《Tensorflow:實戰Google深度學習框架》Go深度學習框架
- 《Tensorflow:實戰Google深度學習框架》圖書推薦Go深度學習框架
- Google Colab 現已支援直接使用 ? transformers 庫GoORM
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 深度學習及深度強化學習研修深度學習強化學習
- 基於TensorFlow Serving的深度學習線上預估深度學習
- 深度學習學習框架深度學習框架
- 深度學習深度學習
- ####深度學習深度學習
- 深度 學習
- 深度學習及深度強化學習應用深度學習強化學習
- 讀懂深度學習,走進“深度學習+”階段深度學習
- 高價效比深度學習神器!阿里雲GPU例項V100 最深度評測深度學習阿里GPU
- 深度學習——學習目錄——學習中……深度學習
- sap線上學習
- 洪恩線上學習
- 這是一份全面 & 詳細的Google序列化神器protocolBuffer 學習指南GoProtocol
- MySQL深度學習MySql深度學習
- 深度學習模型深度學習模型
- 深度學習《StarGAN》深度學習
- 深度學習《patchGAN》深度學習
- 深度學習《CycleGAN》深度學習
- 深度學習-LSTM深度學習
- 深度學習概念深度學習
- googleTest學習地址Go
- 深度學習學習7步驟深度學習
- 深度學習很難?一文讀懂深度學習!深度學習
- 深度學習系列(2)——神經網路與深度學習深度學習神經網路
- Python深度學習Python深度學習
- 深度學習工程模板深度學習