【ATU Book-i.MX8系列 - Colab】 Colab 第三方应用

一.   概述

本文将介绍一套非常好用的一个免费资源,由 Google 所提供的 Colab 这项云端服务。

延续上一章节的理念,此系列的目的为工具书导向,这里将持续介绍一些额外的第三方软体技巧应用,比如说如何连接 Google Drive 来存取档案,如何利用 Google sheet 来读写资料,以及该如何利用 Github 来建立更想大的备份代码仓储等等应用技巧。如下图文章架构图所示,此架构图隶属于 i.MX8M Plus 的方案博文中,并属于 Third Party 软体资源的 Google Colab 密技大公开 之部分,目前章节介绍 Colab 第三方应用”。

 

若新读者欲理解更多人工智能、机器学习以及深度学习的资讯,可点选查阅下方博文
 大大通精彩博文   【ATU Book-i.MX8系列】博文索引

 

 

Colab 系列博文-文章架构示意图

 

二.  Google Colab 应用技巧

 1. Google Drives 应用 : 

Google Drive可搭配 PyDrive 套件进行验证、上传与下载文件。而进阶应用可搭配 Google Resource Manager 进行更高层度的云端数据管理,请参考此连结

官方网站 : https://pythonhosted.org/PyDrive/#

下列附上 程式储存格的代码(灰底) 以及 运行结果(灰底后的图示),复制贴上至 Colab 即可使用 !!

(1) 挂载 Google Drive

from google.colab import drive
drive.mount('/gdrive')

(2) Google Drive - 上传档案

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default() # 给予授权
drive = GoogleDrive(gauth)
uploaded = drive.CreateFile({'title': 'Sample file.txt'}) # 建立档案
uploaded.SetContentString('Sample upload file content') # 设定资料
uploaded.Upload() # 上传
print('Uploaded file with ID {}'.format(uploaded.get('id'))) # 取得上传文件的 id

(3) Google Drive - 载入档案

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default() # 给予授权
drive = GoogleDrive(gauth)
file_id = 'REPLACE_WITH_YOUR_FILE_ID' #设定上传文件的 id
downloaded = drive.CreateFile({'id': file_id})
print('Downloaded content "{}"'.format(downloaded.GetContentString()))

(4) Google Drive - 写入档案

with open('/gdrive/My Drive/foo.txt', 'w') as f:
f.write('Hello Google Drive!')
!cat '/gdrive/My Drive/foo.txt'

(5) Google Colab – 上传档案

从本机档案系统上传档案

from google.colab import files
uploaded = files.upload("/gdrive/filename")

(6) Google Colab – 下载档案

将档案下载至本机档案系统

from google.colab import files
df.to_csv("/gdrive/filename")
files.download("/gdrive/filename")

 

 2. Google Sheets 应用 : 

Google Drive可搭配 gspread 套件进行验证、上传与下载文件。

官方网站 : https://docs.gspread.org/en/latest/

(1) Google Sheets - 写入资料 / 储存档案

from google.colab import auth
import gspread
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_default()) #给予授权
sh = gc.create('A new spreadsheet') #创立一个新档案

worksheet = gc.open('A new spreadsheet').sheet1 #选取工作表
cell_list = worksheet.range('A1:C2') #选取工作栏位

import random
for cell in cell_list:
cell.value = random.randint(1, 10) # 撰写变数
worksheet.update_cells(cell_list) #上传/储存资料,将放置于 Google Drive

(2) Google Sheets - 载入资料

from google.colab import auth
import gspread
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_default()) #给予授权
worksheet = gc.open(' A new spreadsheet ').sheet1 #从 Google Drive 中,读取资料
rows = worksheet.get_all_values()
import pandas as pd
pd.DataFrame.from_records(rows)

 

 3. Github 应用 : 

Github 是知名的版本控制代管平台,提供组织建立和存取代管、图表与代码显示等等功能。广受开发者爱戴,已拥有超过 4 千万的使用者并成为世界上最大的代码存放网站,于 2018 年由微软收购。

Google Colab 可以无痛衔接至 Github 上,进行更有效的版本管理。

设定方式如下 :

Step 1 : 开启新的 Github Repository 仓储

Step 2 : 于 Colab 中,点选 “在 GitHub 中储存副本”即可。

 

 4. Cloudflare 应用 : 

Cloudflare 是一套知名的分布式式域名解析服务,借此应用可让 VS Code 远端操作 Colab 的资源

应用方式如下 :

Step 1 : 下载 Cloudflare 的执行档

请点选此连结,并下载相应的作业系统之二进制档案。

Step 2 : 开启 Colab 笔记本,取得 SSH 的连结位置

安装套件 :

!pip install colab_ssh --upgrade

取得代理服务器 SSH 位置 :

from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared
launch_ssh_cloudflared(password="Password")

 

Step 3 : 开启 VS Code 设定远端连线,即可启用

按下 F1 , 设定 Remote SSH : Open SSH Configuration File

Host nations-radical-cialis-luke.trycloudflare.com
HostName %h
User root
Port 22
ProxyCommand D:\COLAB\cloudflared-windows-amd64.exe access ssh --hostname %h

按下 F1 , 执行 Remote SSH Connect to Host

 

选择 SSH 远端连线 > Linux > 输入帐密即可完成连线

 

 

 

 

三.  结语

本文主要目的是推广 Colab 的实用性为主,其用意是希望读者可以将此系列博文当作一套工具书来查阅,来达到快速应用之目的。本文介绍了如何透过 Google Drive 来达到上传档案、载入档案等目的,以及透过 Google Sheet 来读写资料。接下来,我们也介绍了 Cloudflare 来实现远端连线至 Colab 中,并透过 VSCode 的软体界面来操作。或者也可直接用 SSH 进行连线。最后一篇文章,将利用 Colab 训练出物件识别的模型,并直接应用至 i.MX8M Plus 的开发板中 !! 帮助读者可以快速训练出属于自己的 AI 模型 !! 敬请期待 !!

 

四.  参考文件

[1] 官方文件 - Colaboratory 官网
[2] 第三方文件 -鸟哥的首页

如有任何相关 Colab 技术问题,欢迎至博文底下留言提问 !!
接下来还会分享更多 Colab 的技术文章 !!敬请期待 【ATU Book-i.MX8 系列 - Colab 
 !!

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论