Hướng dẫn chạy code python trên colab
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. Show
Contents 1. Google Colab là gì?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. Bên cạnh đó, 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. Một số tính năng có thể kể đến như sau:
Tuy nhiên Google Colab có 1 nhược điểm 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. Google Colab là gì? Bạn cần mua một tên miền để bắt đầu website của mình Để đăng ký mua tên miền tại Tenten.vn , quý khách chỉ cần làm theo các bước sau: Bước 1: Kiểm tra sự tồn tại của tên miền: Nhập tên miền và nhấn “kiểm tra”. Bước 2: BẤM VÀO ĐÂY ĐỂ NHẬN ƯU ĐÃI TÊN MIỀN 2. Thao tác cơ bản với Google Colab2.1. Các thiết lập hữu ích2.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 nhưng nếu bạn 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. 2.1.2. Bật DarkmodeNế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ìnhMở 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 & Folder2.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ệcGoogle 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 NotebookBạ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. 2.3. Edit – Soạn thảo Notebook trong Google Colab
2.4. View – Tuỳ chọn hiển thị trong Google ColabChọn Menu >> View:
2.5. Insert – Thêm nội dung vào Notebook trong Google Colab
Thao tác cơ bản với Google Colab 3. Runtime – Môi trường thực thi Python trong Google Colab3.1. Cách thực thi các dòng lệnh PythonĐể 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 ColabKhi 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 ở 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ụ, 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: 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. Môi trường thực thi Python trong Google Colab 4. Mẹo sử dụng Google Colab4.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. 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õ). 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ệnhCommand 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). Dịch vụ hosting và email nổi bật GEN HOSTING Gen Hosting sử dụng ổ cứng NVME chuẩn U.2, tốc độ xử lý nhanh gấp 10 lần ổ cứng SSD thông thường SSD Hosting SSD Hosting thể hệ mới – giá rẻ, tốc độ load web gấp 40 lần SecureWEB Hosting SecureWEB Hosting – hosting cao cấp đáp ứng tổng thể nhu cầu hoạt động website bảo mật cao, tốc độ vượt trội Email Server Giải pháp cho doanh nghiệp nhỏ và mới thành lập Zshield Email cao cấp dành cho doanh nghiệp: uptime 100%, tỷ lệ gửi mail vào inbox 99%, chống email spam virus, an toàn dữ liệu Cloud Server Cuộc cách mạng mới cho giải pháp lưu trữ website, khắc phục những nhược điểm của máy chủ truyền thống 4.4. Shortcuts – Phím tắtGoogle 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). 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. 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. Mẹo sử dụng Google Colab 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 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 PythonTô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. 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 SheetsTrong 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. 4.10. Khôi phục Colab Notebook về phiên bản trướcTrong 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ếnNế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 NotebookGoogle 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ừ |