Hướng dẫn sử dụng Google Colab đầy đủ – Python Tutorial

google colab tutorial 101 thinhvu post cover 2560x1440 2

Xin chào các bạn, trong bài trước tôi đã giới thiệu đến các bạn bài hướng dẫn Thiết lập Linux server chạy Python tự động sử dụng Oracle Cloud (Always Free) để tạo cho mình môi trường thực thi và lên lịch các Python script hoàn toàn tự động trên server. Đối với những người mới làm quen và bắt đầu học Python có lẽ các bạn sẽ khá bối rối với những khái niệm mới lạ nào là cài đặt Python thuần hay Anaconda, sử dụng Visual Studio Code hay PyCharm, vv để lập trình Python. Chưa hết, khi các bạn sử dụng Macbook thì cách thức thiết lập môi trường thực hành và hành vi của máy lại khác xa với máy tính Windows, khiến việc làm quen và thực hành Python gặp không ít khó khăn. Nếu các bạn biết và sử dụng tốt Google Colab, tôi tin bạn chẳng phải đối mặt với những rắc rối nêu trên. Trong thực tế, Google Colab được tôi chọn sử dụng là môi trường thực hành và lập trình duy nhất cho lớp học Python mà tôi đang hướng dẫn bởi những lợi ích hết sức rõ ràng. Không để các bạn phải đợi lâu thêm nữa, hãy cùng tôi khám phá Bí kíp lập trình Python và phân tích dữ liệu với Python qua hướng dẫn sử dụng Google Colab nhé. Bạn có thể xem video hướng dẫn trực quan và đầy đủ dưới đây ngay hoặc đọc từng mục trong bài viết chi tiết nhé. LEarn Anything là kênh Youtube của tôi chuyên chia sẻ về chủ đề học tập, bạn hãy subscribe để theo dõi nhiều nội dung hữu ích thường xuyên.

Nội dung chính

1. Google Colab là gì?

Google Colab là một dạng Jupyter Notebook tùy biến cho phép thực thi Python trên nền tảng đám mây, được cung cấp bởi Google. Sử dụng Google Colab có những lợi ích ưu việt như: sẵn sàng chạy Python ở bất kỳ thiết bị nào có kết nối internet mà không cần cài đặt, chia sẻ và làm việc nhóm dễ dàng, sử dụng miễn phí GPU cho các dự án về AI.

Ngoài những lợi ích được tóm tắt như trên, Google Colab còn cung cấp cho bạn trải nghiệm lập trình Python tuyệt vời với những nâng cấp cực kỳ hữu ích không có trong Jupyter Notebook, JupyterLab đơn thuần. Những tính năng tôi đánh giá cao ở Google Colab phải kể đến như:

Tuy nhiên Google Colab có 1 nhược điểm gây khó chịu không ít đó là dữ liệu (bộ nhớ tạm) của phiên làm việc sẽ bị xóa sau khi bạn không active trong 1 thời gian nhất định để Colab đảm bảo có thể cung cấp tài nguyên miễn phí cho nhiều người. Do đó mỗi khi mở Google Colab, nếu bạn cần sử dụng các thư viện của bên thứ 3 thì bạn cần install và import lại từ đầu để có thể sử dụng. Phiên bản Colab Pro giúp khắc phục điều này nhưng hiện tại không áp dụng cho thị trường Việt Nam.

2. Thao tác cơ bản với Google Colab

2.0. Giao diện Google Colab

Giao diện Google Colab

2.1. Các thiết lập hữu ích

2.1.1. Thiết lập Ngôn ngữ hiển thị

Google Colab mặc định hiển thị ngôn ngữ tiếng Việt cho tôi nhưng tôi luôn lựa chọn làm việc với phiên bản tiếng Anh cho tiện giao tiếp và tìm kiếm hỗ trợ dễ dàng khi cần. Nếu bạn cũng cần thay đổi ngôn ngữ, hãy tìm lựa chọn này ở menu Trợ giúp >> Xem bằng tiếng Anh.

 

Bạn cũng có thể sử dụng cách thay đổi hl=vi thành hl=en trong địa chỉ của Notebook ở thanh địa chỉ trên trình duyệt. Ví dụ, thay đôỉ https://colab.research.google.com/drive/1WdRrOmnTI1s-KppcGGkBjBA9ZU_X2LiK?authuser=1&hl=vi  sang https://colab.research.google.com/drive/1WdRrOmnTI1s-KppcGGkBjBA9ZU_X2LiK?authuser=1&hl=en sau đó Enter.

2.1.2. Bật Dark mode

Nếu các bạn ưu thích chế độ làm việc Darkmode thì có thể bật nó lên dễ dàng bằng cách: Tìm trên thanh Menu và chọn Tools >> Settings hoặc click vào hình chiếc bánh răng ở góc phải phía trên của Notebook bên cạnh avatar của bạn để mở mục Cài đặt. Chọn tùy chọn dark ở mục Theme và click vào Save để lưu cài đặt.

2.1.3. Bật các tùy chọn hỗ trợ lập trình

Mở mục cài đặt và chọn Editor, tick chọn hết tất cả các tùy chọn trong mục này. Trong đó đặc biệt là Show line numbers giúp bạn hiển thị số thứ tự của dòng code trong 1 code cell và Show indentation guides giúp hiển thị căn thụt đầu dòng rất hữu ích, hạn chế xảy ra lỗi định dạng khoảng cách không đúng trong Python.

2.2. Thao tác với File & Folder

2.2.1. Tạo mới, mở hoặc upload 1 Notebook sẵn có

Để mở File với Google Colab, bạn có thể sử dụng tổ hợp phím tắt Ctrl + O (hoặc Command + O trên Macbook). Bạn có 5 tùy chọn chính trong đó có :

2.2.2. Lưu Notebook đang làm việc

Google Colab thực hiện lưu dữ liệu làm việc của bạn hoàn toàn tự động tuy nhiên trong trường hợp bạn chưa yên tâm hoặc muốn có nhiều tùy chọn lưu trữ hơn thì có thể tìm đến Menu >> File và chọn lưu file trên Google Drive hay Github tùy mục đích của mình.

2.2.3. Download Notebook

Bạn có thể tải Notebook về máy dưới dạng file Jupyter Notebook có định dạng .ipynb hoặc file Python có định dạng .py bằng cách mở menu File >> Download sau đó chọn định dạng file tương ứng.

2.2.4. Upload Dữ liệu

Để upload dữ liệu vào bộ nhớ tạm của session làm việc trong Colab, bạn có thể chọn mục Folder như trong hình sau đó chọn icon Upload dữ liệu như hình minh họa dưới đây. Trong trường hợp bạn sử dụng dữ liệu từ Google Drive để làm việc, hãy theo dõi hướng dẫn ở phần tiếp theo của bài viết.

2.2.5. Copy File Path

Để có thể copy đường dẫn file hoặc thư mục khi bạn cần thao tác mở hoặc lưu trữ file, bạn có thể nhấp chuộc phải vào file hoặc folder trong cây thư mục và chọn Copy path.

Copy đường dẫn file hoặc folder

2.3. Edit – Soạn thảo Notebook trong Google Colab

2.4. View – Tuỳ chọn hiển thị trong Google Colab

Chọn Menu >> View:

2.5. Insert – Thêm nội dung vào Notebook trong Google Colab

Thêm Code cell hoặc Text cell

3. Runtime – Môi trường thực thi Python trong Google Colab

3.1. Thực thi các dòng lệnh Python như thế nào? Hiểu các tùy chọn chạy lệnh Python trên Google Colab

Để thực thi các dòng lệnh trên Google Colab, bạn click vào nút Play ở đầu mỗi code cell hoặc chọn code cell cần thực thi sau đó dùng tổ hợp phím tắt Shift + Enter. Bạn cũng có thể sử dụng Menu Runtime với các tuỳ chọn thực thi đa dạng như:

3.2. Dừng thực thi lệnh & khởi động lại môi trường

Đôi khi việc thực thi xảy ra không như mong muốn, bạn có thể muốn dừng thực thi hoặc khởi động lại môi trường làm việc của Google Colab (runtime). Các tuỳ chọn dưới đây của Runtime menu sẽ giúp ích cho bạn:

3.3. Thay đổi loại Runtime trên Google Colab

Khi sử dụng Colab cho các project liên quan đến Machine Learning có thể bạn sẽ muốn khai thác tối đa sức mạnh của Google Colab để thực thi lệnh với ít thời gian hơn. Khi đó tuỳ chọn tăng tốc phần cứng với GPU hoặc TPU sẽ trở nên cực kỳ hữu ích.

Để thay đổi tuỳ chọn Runtime, bạn tìm từ Menu > Runtime > Change runtime type

3.4. Cài đặt thư viện mới

Để cài đặt thư viện mới không có sẵn trong Google Colab, bạn thực thi câu lệnh pip install package_name ở 1 code cell bất kỳ trong đó package_name là tên thư viện bạn muốn cài đặt thêm. Ví dụ, để cài đặt thư viện facebook business sdk cho Python, chúng ta thực thi câu lệnh pip install facebook_business

Thông thường bạn sẽ phải cài đặt lại các thư viện không có sẵn khi làm việc với Colab sau khi kết thúc session làm việc trước đó 1 thời gian (không có con số cụ thể, có thể là 15 – 30 phút không hoạt động). Điều này cũng gây ra đôi chút khó chịu và mất thời gian để cài lại các thư viện nếu bạn sử dụng nhiều thư viện bên ngoài.

3.5. Import thư viện

Để import 1 thư viện bất kỳ vào Colab bạn sử dụng câu lệnh import package_name as something trong đó package_name là thư viện bạn muốn import, something ở đây là tên ngắn gọn (alias) bạn muốn đặt cho thư viện đó để tiện gọi thư viện khi làm việc. Ví dụ, tôi muốn import thư viện pandas và gán cho nó cái tên rút gọn là pd, tôi sẽ nhập câu lệnh sau vào 1 code cell và thực thi: import pandas as pd

Trong một số trường hợp tên thư viện của bạn đã ngắn gọn sẵn thì không cần thiết phải gán alias, bạn có thể import thư viện với câu lệnh đơn giản import package_name.

4. Mẹo sử dụng Google Colab

4.1. Code Snippet (Đoạn mã)

Đây là một tính năng khá hay ho của Google Colab cho phép bạn tìm kiếm và chèn các đoạn mã được soạn sẵn vào Notebook bạn đang làm việc, bạn có thể tiết kiệm rất nhiều thời gian của mình với tính năng này.

Để chèn 1 code snippet bạn sử dụng tổ hợp phím tắt Ctrl + Alt + P (Control + Option + P trên Mac) hoặc click icon Code Snippet ở thanh công cụ phía bên trái màn hình, hoặc mở từ Menu > Insert > Code snippets.

Để thêm 1 Notebook do bạn soạn thảo chứa các đoạn mã mẫu vào Colab, bạn chỉ cần copy URL của Notebook trên trình duyệt và paste vào mục Custom snippet notebook URL trong phần cài đặt Colab.

Thêm URL của Notebook chứa các đoạn mã mẫu vào Google Colab để tiện tìm kiếm và sử dụng lại.

Lưu ý rằng, để dễ dàng tìm kiếm các đoạn mã, bạn cần cấu trúc các heading 1 ở trước mỗi đoạn mã (chỉ cho phép tìm kiếm heading 1 ở mục Code snippets). Bạn chỉ cần thêm 1 dấu # trước tên đề mục (dấu # biểu thị 1 cấp độ heading, bạn có thể tham khảo thêm về ngôn ngữ Markdown để hiểu rõ).

Đặt tên heading cho đoạn mã mẫu trên Google Colab

4.2. Scratch code cell – Ô chứa mã tạm thời

Ô chứa mã tạm thời cho phép bạn thực hiện các câu lệnh dưới dạng bản nháp mà không tác động đến kết quả hoặc việc trình bày Notebook của bạn. Bạn có thể kích hoạt tính năng này với tổ hợp phím tắt Ctrl + Alt + N (Control + Option + N với Mac) hoặc mở từ Menu > Insert > Scratch code cell. Một cách khác để kích hoạt tính năng này là bạn mở Command Palette với tổ hợp phím Ctrl + Shift + P sau đó tìm scratch code cell và Enter để chọn.

4.3. Command pallete – Bảng lệnh

Command palette là 1 tính năng tiện lợi để tìm kiếm các thao tác cần thực hiện với Colab nhanh chóng khi bạn đang “coding” tương tự như khi bạn sử dụng với Visual Studio Code. Để mở nhanh tính năng này, bạn sử dụng tổ hợp phím tắt Ctrl + Shift + P trên máy tính (shortcut đúng với cả Windows lẫn Mac).

4.4. Shortcuts – Phím tắt

Google Colab cung cấp cho bạn bộ phím tắt đa dạng để kích hoạt các tính năng hữu ích. Để mở danh mục phím tắt và có thể cài đặt lại phím tắt, bạn ấn giữ đồng thời tổ hợp phím Ctrl + M + H (Command + M + H cho Mac).

Thiết lập phím tắt cho Google Colab

4.5. Table of Content (TOC hay Mục lục)

TOC là tính năng rất hay của Google Colab mà tôi mong sao Visual Studio Code và Jupyter Lab sớm bổ sung. Mục lục cho phép bạn di chuyển nhanh giữa các phần nội dung của Colab, bạn cũng có thể Thu gọn hoặc Mở rộng các nội dung thuộc mỗi cấp heading để làm việc gọn gàng hơn với Colab. Ngoài ra tính năng này giúp bạn trải nghiệm làm việc với Python như đang soạn thảo văn bản thông thường hay viết sách. Tôi đã tận dụng tính năng này để trình bày toàn bộ giáo trình khoá học Python của mình và chia sẻ cho các bạn học viên 1 cách thuận tiện.

Tính năng Mục lục trên Google Colab

4.6. Chạy Google Colab với Local Runtime (môi trường Python trên máy tính cá nhân của bạn)

Google Colab cho phép bạn lựa chọn Cloud Runtime được cung cấp bởi Google giúp bạn tận dụng sức mạnh GPU, TPU trên môi trường Cloud, hoặc bạn có thể sử dụng Local Runtime do bạn thiết lập (môi trường Python trên máy tính cá nhân). Sử dụng Local Runtime giúp bạn tránh phải cài đặt lại thư viện cần thiết mỗi lần sử dụng Google Colab. Khi đó, Google Colab hoạt động tương tự như Jupyter Lab hay Jupyter Notebook, được mở trên trình duyệt web vậy.

Vì 1 lý do nào đó, hướng dẫn thiết lập Colab có sẵn của Google để chạy với Local Runtime không hoạt động đúng như tài liệu, tôi đã thực hiện 1 vài sửa đổi nhỏ với các câu lệnh Terminal do Google cung cấp. Có thể hướng dẫn này sẽ giúp bạn khỏi bối rối.

Lưu ý nhỏ: Nếu bạn sử dụng máy tính Windows, hãy thực hiện cài đặt các bước dưới đây với môi trường Python Anaconda, sử dụng Anaconda Prompt thay vì Command Prompt mặc định của Windows. Nếu không sử dụng Anaconda Prompt bạn có thể gặp lỗi jupyter-serverextension' is not recognized as an internal or external command, operable program or batch file khi cố gắng enable extension jupyter_http_over_ws

Anaconda Prompt trên Widows bằng cách gõ phím Windows sau đó tìm kiếm Anaconda

Bước 1: Cài đặt Jupyter trên máy tính

Chọn 1 trong 2 cách dưới đây, mở terminal/command prompt và chạy câu lệnh tương ứng. Nếu bạn đã cài đặt anaconda thì có thể bỏ qua bước này. Thao tác này chỉ cần thực hiện 1 lần duy nhất.

Bước 2: Cài đặt và kích hoạt tiện ích mở rộng jupyter_http_over_ws

Nhập đoạn code sau và thực thi trên Terminal/Command prompt (chỉ cài đặt 1 lần). Nếu bạn sử dụng runtime của anaconda thì cần mở command prompt (trên máy tính Windows) để chạy lệnh này. Riêng với Mac bạn có thể chay lệnh dưới đây với Terminal mặc định.

pip install jupyter_http_over_ws
jupyter serverextension enable --py jupyter_http_over_ws

Bước 3: Khởi động server và xác thực

Mỗi khi muốn chạy Colab trên môi trường local, bạn cần thực hiện bước này. Nhập đoạn mã dưới đây vào Terminal/command prompt (hoặc anaconda prompt trên windows). Sau khi server được khởi động thì Terminal sẽ hiển thị URL dưới dạng https://.. mà bạn cần copy để sử dụng. Ấn nút connect ở góc phải notebook Colab và paste URL bạn vừa copy để kết nối.

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0

Nếu bạn muốn mở 1 folder cụ thể khi chạy Google Colab với local runtime, có thể tùy biến câu lệnh ở bước 3 để chạy với Terminal/Command Prompt. Dưới đây, mình muốn Google Colab sẽ làm việc tại folder D:\OneDrive\Github

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0 --notebook-dir="D:\OneDrive\Github"

4.7. Mẹo nhỏ chuyển đổi nhanh giữa các môi trường Python

Tôi thường xuyên soạn thảo các Notebook và lập trình Python để sử dụng trên nhiều môi trường máy tính khác nhau như Google colab, Macbook, Windows, Raspberry Pi, Linux Server vì vậy việc cấu hình điạ chỉ thư mục sao cho sử dụng tiện lợi nhất là hết sức cần thiết.

Thiết lập folder path để sử dụng Jupyter Notebook trên nhiều môi trường máy tính

Một mẹo nhỏ tôi thường xuyên sử dụng đó là gán địa chỉ thư mục làm việc với biến project_folder, gán demiliter của máy tính Windows/Mac/Linux với biến lmt (các bạn có thể đã biết Windows sử dụng backslash \ để ngăn cách thư mục còn Mac/Linux lại sử dụng forwardslash /. Google Colab thực chất chạy trên môi trường Linux). Do đó mỗi khi cần tham chiếu đến 1 folder, file trong thư mục làm việc, tôi dùng hàm join để nối các thành phần của tên này với nhau. Ví dụ để đọc 1 file sample.csv, tôi dùng câu lệnh:

df = pd.read_csv(lmt.join([project_folder, 'sample.csv'])

4.8. Mount & Unmount Google Colab với Google Drive (Kết nối & gỡ kết nối)

Để tương tác với file & folder trong Google Drive của bạn trong Google Colab, bạn sẽ cần thực hiện thao tác mount drive. Việc này rất đơn giản, bạn click vào icon Folder và chọn Google Drive icon sau đó 1 đoạn code sẽ được chèn tự động vào Colab, bạn cần thực thi đoạn code này, 1 tab mới được mở ra yêu cầu bạn xác thực quyền truy cập tài khoản > xác thực và copy token key sau đó quay trở lại Colab và paste vào ô yêu cầu nhập liệu của đoạn code mount drive sau đó enter. Do mình đã kết nối Drive nhiều lần gần đây nên video demo dưới đây khi mount drive, Google không bắt mình xác thực quyền truy cập 1 lần nữa. 

Kết nối và gỡ kết nối Google Drive với Colab notebook | mount & unmount google drive

Với những người sử dụng nhiều tài khoản Google trong cùng 1 trình duyệt như mình, đôi khi xác thực nhầm tài khoản để kết nối khiến các bạn không khỏi bối rối không biết làm sao để thay đổi tài khoản và truy cập các thư mục cần thiết. Đây là đoạn code bạn cần thực thi:

from google.colab import drive
drive.flush_and_unmount()
 
Bạn có thể chèn đoạn code này vào 1 file Colab mẫu để truy cập nhanh từ giao diện Code Snippet của Colab Notebook như trong video demo mình thực hiện.

4.9. Kết nối với Google Colab với Google Sheets

Trong Google Colab đã có sẵn code snippet để bạn import / export đơn giản nhất nhưng cũng bất tiện vì mỗi lần thực thi lệnh để đọc/ghi dữ liệu với Google Sheets trong 1 session làm việc mới, bạn phải xác thực quyền truy cập 1 cách thủ công khá bất tiện. Bài hướng dẫn toàn tập của mình giúp các bạn thiết lập kết nối với Google Sheets thông qua 1 service account thuận tiện tại đây: Đọc và xuất dữ liệu Google Sheets với Python & Jupyter Notebook

4.10. Khôi phục Colab Notebook về phiên bản trước

Trong nhiều trường hợp, do thao tác nhầm bạn có thể xoá 1 hoặc nhiều code block, thậm chí xoá cả chương nội dung, hẳn bạn sẽ cần 1 thao tác giúp Undo thao tác này. Đôi khi bạn cũng muốn khôi phục 1 phiên bản Notebook cũ hơn và bỏ qua các thay đổi đã thực hiện gần đây. Tính năng Revision history sẽ là cứu cánh cho bạn. Để truy cập tính năng này, tìm Menu > File > Revision history. Như vậy, mặc dù không sử dụng Github, bạn vẫn có thể kiểm soát các phiên bản khác nhau của Notebook mình thực hiện với Colab. 

Khôi phục phiên bản Notebook cũ hơn với tính năng Revision history trong Google Colab

4.11. Tạo dashboard với Google Colab hoàn toàn trực tuyến

Nếu bạn có ý định sử dụng Google Colab như 1 python dashboard “trên mây” thì cũng hoàn toàn khả thi. Để thực hiện ý tưởng này, bạn có thể sẽ cần sử dụng các script để đồng bộ file với Google Drive thông qua thư viện Python PyDrive như tôi đang sử dụng (lên lịch refresh dữ liệu tự động bằng crontab trên máy Raspberry Pi) hoặc đơn giản là lưu file trên máy local và đồng bộ với công cụ Backup & Sync của Google trên máy tính Windows và Mac.

4.12. Kết nối Google Colab với Github

Để đọc các repository trên Github hoặc lưu Notebook của bạn trên Github, bạn có thể thực hiện rất đơn giản.

4.13. So sánh sự khác biệt giữa 2 Notebook

Google Colab cung cấp tính năng so sánh giữa 2 notebook với nhau rất tiện lợi. Bạn có thể kích hoạt tính năng này từ Menu > Tool > Diff Notebooks.

So sánh nội dung giữa 2 notebook trong Google Colab

Hy vọng bài viết của mình có thể giúp các bạn mới làm quen với Python và cả những người đã sử dụng Google Colab ở mức cơ bản có thêm nhiều gợi ý bổ ích. Nếu nội dung bài viết hữu ích, bạn đừng quên để lại comment để chia sẻ suy  nghĩ của mình hoặc bạn cũng có thể share bài viết để nhiều bạn khác có thể tiếp cận nhé. Hẹn gặp lại các bạn trong các bài viết tiếp theo.

Rate this post
Exit mobile version