Jupyter Notebook - công cụ lập trình Python

Jupyter Notebook là gì? Hướng dẫn cài đặt và sử dụng Jupyter Notebook

Nếu bạn đã quen với ngôn ngữ lập trình Python, vậy thì chắc chắn bạn sẽ gặp công cụ Jupyter Notebook.

Vậy thì Jupyter Notebook là gì mà không thể thiếu trong ngôn ngữ lập trình Python. Làm sao để sử dụng và cài đặt Jupyter Notebook? Lợi ích mà nó đem lại là gì? Bạn hãy theo dõi bài viết dưới đây của blog để kiếm câu trả lời nhé.

Jupyter Notebook là gì?

Jupyter là một thuật ngữ được ghép từ ba ngôn ngữ lập trình Julia, Python và R. Trước đây Jupyter Notebook có tên là IPython Notebook, đến năm 2014 tách ra khỏi IPython và đổi tên thành Jupyter Notebook.

Jupyter Notebook  là một nền tảng tính toán khoa học mã nguồn mở, bạn có thể sử dụng để tạo và chia sẻ các tài liệu có chứa code trực tiếp, phương trình, trực quan hóa dữ liệu và văn bản tường thuật.

Jupyter Notebook được coi là môi trường điện toán tương tác đa ngôn ngữ, hỗ trợ hơn 40 ngôn ngữ lập trình cho người dùng.

Với Jupyter Notebook, người dùng có thể đưa dữ liệu, code, hình ảnh, công thức, video,.. vào trong cùng một file, giúp cho việc trình bày trở nên dễ dàng hơn. Bạn có thể vừa trình chiếu vừa chạy code để tương tác trên đó, cốt lõi của việc này là Markdown.

Lợi ích mà Jupyter Notebook mang lại

Jupyter Notebook được viết bằng các ngôn ngữ như Python, R và Julia, nền tảng này hiện đang được sử dụng rộng rãi. Bên cạnh đó, Jupyter còn tạo ra tài liệu, trực quan hóa dữ liệu và lưu trữ chúng một cách dễ dàng hơn rất nhiều.

Dưới đây là một số lợi ích mà Jupyter Notebook mang lại:

Phân tích khám phá dữ liệu (Exploratory Data Analysis)

Jupyter cho phép người dùng xem kết quả của code in-line (mã inline) mà không cần phụ thuộc vào các phần khác của code.

Trong Notebook mọi ô của code có thể được kiểm tra bất cứ lúc nào, điều này đã giúp Jupyter trở nên khác biệt so với các ID như Pycharm, VSCode. Việc Jupyter có thể xuất code in-line đã giúp ích rất nhiều trong quá trình phân tích khám phá dữ liệu (EDA).

(Code Editor Online on Mobile)

Bộ đệm dễ dàng trong ô tích hợp

Từng ô tự duy trì trạng thái hoạt động sẽ hơi khó, nhưng với Jupyter, công việc này sẽ được thực hiện tự động. Vì Jupyter lưu trữ kết quả hoạt động của mọi ô đang chạy, cho dù là code đang đào tạo mô hình machine learning hay code đang tải xuống gigabyte dữ liệu từ một máy chủ từ xa.

Độc lập ngôn ngữ

Jupyter Notebook ở định dạng JSON, vì thế nó được biết đến là một nền tảng độc lập cũng như độc lập về ngôn ngữ.

Trực quan hóa dữ liệu (Data Visualisation)

Jupyter Notebook hỗ trợ trực quan hóa dữ liệu và hiển thị thêm một số đồ họa và biểu đồ. Những điều này được tạo ra từ code với sự trợ giúp của các mô đun như Matplotlib, Plotly hoặc Bokeh. Ngoài ra, Jupyter còn cho phép người dùng cùng chia sẻ code và bộ dữ liệu hoặc thay đổi tương tác với nhau.

Tương tác trực tiếp với code

Jupyter Notebook sử dụng "ipywidgets" packages, cung cấp cho người dùng giao diện chuẩn nhằm khám phá sự tương tác trực tiếp với code và với dữ liệu. Người dùng có thể chỉnh sửa và chạy code, làm cho code của Jupyter non-static.

Ngoài ra, nó còn cho phép người dùng kiểm soát nguồn đầu vào của code và phản hồi lại trực tiếp trên trình duyệt.    

Các mẫu code tài liệu

Jupyter giúp người dùng dễ dàng giải thích từng dòng code của họ với các phản hồi được đính kèm. Dù trong code đã có đầy đủ các chức năng nhưng người dùng vẫn có thể tăng thêm sự tương tác bằng các lời giải thích.

Hướng dẫn cài đặt Jupyter Notebook

Cài đặt Jupyter Notebook thông qua Anaconda

Nếu bạn là người mới bắt đầu, bạn nên sử dụng Anaconda.

Bước 1: Bạn hãy truy cập vào trang web của Anaconda . Ở cột Windows, chọn phiên bản phù hợp (32bit hoặc 64bit) rồi tải xuống.

Cài đặt Anaconda

Bước 2: Chương trình sẽ bắt đầu cài đặt, bạn hãy thực hiện theo chỉ dẫn trên màn hình để hoàn thành việc cài đặt. Việc cài đặt thường sẽ mất một vài phút, bạn có thể khởi chạy Jupyter Notebook sau khi quá trình cài đặt hoàn tất.

Bước 3: Sau khi cài đặt hoàn tất, bạn có thể khởi chạy Anaconda Navigator. Từ Navigator nhấp vào khởi chạy (Launch) trong tab Jupyter Notebook, sẽ được hiển thị bên dưới:

Khởi chạy Jupyter Notebook bằng Anaconda Navigator 

Hoặc bạn có thể sử dụng  phím tắt  để bắt đầu khởi chạy Jupyter Notebook trực tiếp, theo ví dụ như hình bên dưới:

Cài đặt Jupyter Notebook thông qua pip

Bước 1: Bạn hãy chạy thử lệnh sau để kiểm tra phiên bản Python đang được cài đặt trên máy tính của bạn.  

Text
Python --Version
Lưu ý: Các Python3 (Python 3.x) hầu như đều được cài đặt sẵn rình quản lý PIP.

Bước 2: Tiếp theo, bạn hãy chạy lệnh này để kiểm tra phiên bản PIP đang được cài đặt trên máy tính của bạn.

Text
pip3 --version
Lưu ý: Nếu bạn gặp lỗi vì chưa cài đặt PIP, hãy nâng cấp cài đặt Python của bạn. Bạn có thể tải xuống và cài đặt phiên bản Python mới nhất ở đây.

Bước 3: Để tránh vấn đề phụ thuộc và đảm bảo tất cả packages được cập nhật, hãy chạy lệnh sau.

Text
pip3 install jupyter

Việc tải xuống và cài đặt sẽ mất vài phút để hoàn thành.

Hướng dẫn sử dụng Jupyter Notebook cơ bản

Chạy Jupyter Notebook trên Server

Sau khi cài đặt xong Jupyter Notebook trong các bước ở trên, chúng ta có thể bắt đầu chạy Jupyter bằng câu lệnh trong Terminal hoặc Command Prompt:

Text
jupyter notebook

Sau đó nhập lệnh Jupyter Notebook và chương trình sẽ khởi tạo một máy chủ cục bộ tại LocalHost: 8888 (hoặc một cổng được chỉ định khác).

Ngay lập tức, trình duyệt sẽ bật ra với đường dẫn http://localhost:8888/tree như hình dưới đây:

Giao diện trên Jupyter Notebook

Bạn đang ở trong giao diện Jupyter Notebook và bạn có thể thấy tất cả các tệp có trong thư mục của mình. Nếu bạn muốn xem một thư mục, bạn hãy tìm nó trong danh sách các tệp và nhấp vào nó để mở thư mục đó lên.

Tạo một Notebook cơ bản

Trong giao diện trang chủ, để tạo một tài liệu Notebook mới click vào New và chọn loại tài liệu như Python, Text file, Folder...

Jupyter Notebook của bạn sẽ được mở trong tab mới.

Nếu bạn quay lại dashboard, bạn sẽ thấy file mới Untitled.ipynb và một số văn bản màu xanh lá cây cho điều đó cho bạn biết là Jupyter Notebook của bạn đang chạy.

Làm việc với Notebook

Nội dung tài liệu chứa các cell có nội dung là code hoặc markdown, đây là vùng chúng ta sẽ làm việc chính.

Một notebook bao gồm nhiều cell (ô). Khi tạo mới một notebook, bạn luôn được tạo sẵn một cell rỗng đầu tiên.

Có hai thuật ngữ mà bạn nên biết là Cell và Kernel:

  • Kernel: là một "công cụ tính toán" thực thi code có trong Jupyter Notebook
  • Cell: là chỗ chứa văn bản được hiển thị trong Jupyter Notebook hoặc code được thực hiện bởi Kernel của Jupyter Notebook.

Cell

Có hai loại ô chính mà các bạn cần biết:

  • Code cell chứa code sẽ được thực hiện trong kernel. Khi code chạy, Jupyter Notebook sẽ hiển thị đầu ra bên dưới code cell đã tạo ra nó.
  • Markdown cell chứa văn bản được định dạng bằng cách sử dụng Markdown và hiển thị đầu ra của nó tại chỗ mà Markdown cell chạy.

Cell đầu tiên trong Notebook mới luôn là code cell.

Chúng ta sẽ cùng thử nghiệm bằng một ví dụ cổ điển sau: Nhập print('Hello World!') vào cell và nhấn nút Run trên thanh công cụ hoặc nhấn Ctrl + Enter.

Chúng ta sẽ có kết quả trông như thế này:

Khi chúng ta bắt đầu chạy cell, đầu ra của nó được hiển thị bên dưới và nhãn bên trái của nó sẽ thay đổi từ In [ ] thành In [1].

Đầu ra của code cell cũng tạo thành một phần tài liệu, đó là lý do tại sao bạn có thể thấy nó trong bài viết này. Bạn có thể thấy sự khác biệt giữa code cell và Markdown cell vì các code cell có nhãn (label) ở bên trái nhưng còn Markdown cell thì không có.

In trong nhãn chỉ đơn giản là viết tắt cho "Input".

Chạy lại cell và nhãn lúc này sẽ đổi thành [2], vì bây giờ cell đã chạy lần thứ hai trên kernel, điều này sẽ làm mọi thứ trở nên rõ ràng và hữu ích hơn.

Từ thanh menu, nhấp vào Insert và chọn Insert Cell Below để tạo một code cell mới bên dưới:

Đầu ra của một cell có thể xuất phát từ bất kỳ dữ liệu văn bản nào được thực hiện trong cell, nó có thể là một biến, lệnh gọi hàm. Ví dụ:

Kernel

Khi có một code cell chạy, thì code đó sẽ được thực thi trong kernel. Trạng thái của kernel vẫn luôn tồn tại theo thời gian và giữa các cell - nó liên quan đến toàn bộ tài liệu.

Có một số tùy chọn cực kỳ hữu ích từ menu kernel:

  • Khởi động lại (Restart): Khởi động lại kernel nó sẽ xóa tất cả các biến đã được xác định.
  • Khởi động lại và xóa đầu ra (Restart và Clear Output): Sẽ xóa đầu ra được hiển thị bên dưới các code cell của bạn.
  • Khởi động lại và chạy tất cả (Restart & Run All): Sẽ chạy lại tất cả các cell của bạn theo thứ tự từ đầu đến cuối.

Thêm nội dung vào Jupyter Notebook

Sử dụng Markdown

Markdown được biết đến là một ngôn ngữ đánh dấu. Bên cạnh đó, Markdown còn là một cách đơn giản để thêm định dạng - như tiêu đề, văn bản in đậm/in nghiêng và danh sách - vào văn bản thuần túy.

Thay vì dựa vào HTML hoặc các trình soạn thảo WYSIWYG, Markdown cho phép bạn định dạng văn bản và điều đó trực quan hơn nhiều so với HTML.

Heading

Sử dụng # trước tiêu đề để đánh dấu Heading, số kí tự # sẽ tương ứng với các cấp Heading khác nhau từ 1 đến 6.

Khi bạn nhấp vào Run trên thanh công cụ,  cú pháp trên sẽ bắt đầu hiển thị tiêu đề từ H1 đến H6.

Heading 1

# (Header 1, title) hoặc

<h1>Header 1,title<h1>

Heading 2

## (Header 2, tiêu đề chính)  hoặc

<h2>Header 2, tiêu đề chính<h2>

Heading 3

### (Header 3, tiêu đề phụ)  hoặc

<h3>Header 3, tiêu đề phụ<h3>

Heading 4

#### (Header 4)  hoặc

<h4>Header 4<h4>

Heading 5

#### (Header 5)  hoặc

<h5>Header 5<h5>

Heading 6

#### (Header 6)  hoặc

<h6>Header 6<h6>

Bold và Italic

Sử dụng ** ở đầu (hoặc đầu và cuối câu) nếu muốn bôi đậm câu đó, tương ứng với thẻ <b> trong HTML.

  • ** This is bold text**
  • <b> This is bold text <b>

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

This is bold text

Sử dụng _ ở đầu hoặc * (hoặc đầu và cuối câu) nếu muốn in nghiêng câu đó. Ví dụ:

  • _ This is italic text
  • * This is italic text*

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

This is italic text

Danh sách

Trong văn bản chúng ta có thể thêm vào các danh sách giống như thẻ ol, ul trong HTML. Với danh sách có thứ tự ol trong Markdown chúng ta chỉ cần đánh số đằng trước danh sách. Ví dụ:

<ul>
<li>Fish</li>
<li>Eggs</li>
<li>Cheese</li>
</ul>

Còn với danh sách không thứ tự chúng ta chỉ cần để đằng trước dấu * hoặc dấu + hoặc dấu - Ví dụ:

-    Fish
-   Eggs
-   Cheese

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

  • Fish
  • Eggs
  • Cheese
Blockquotes

Nếu bạn muốn câu đó là quotes thì bạn sử dụng biểu tượng  > ,  ở dạng văn bản thì sử dụng <blockquote> câu muốn thêm </blockquote>. Ví dụ:

>This is good

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

This is good
Chèn Code

Sử dụng ` hoặc ``` ở đầu và cuối câu nếu muốn định dạng câu đó ở dạng code. Ví dụ:

`x=5`

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị:

x=5

Ví dụ:

```Python

str = "This is block level code"

print(str)

```

Hiển thị sau khi bấm nút Run.

Sử dụng cú pháp []() để chèn link trong bài viết, ở đó nội dung trong [] sẽ là thẻ alt text, và nội dung trong () sẽ là đường link mà bạn muốn điều hướng đến. Ví dụ:

[Section title](division_ID)

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

Tạo bảng

Sử dụng theo mẫu dưới đây để tạo bảng

|Name|Address|Salary| |-----|-------|------| |Hanna|Brisbane|4000| |Adam|Sydney|5000|

Khi bạn nhấp vào Run trên thanh công cụ, cú pháp trên sẽ được hiển thị.

Lời kết

Hy vọng thông qua bài viết này của blog, các bạn đã nắm được những điểm chính về Jupyter Notebook. Bên cạnh đó, 200Lab mong là bạn cũng đã cài đặt thành công và biết cách sử dụng công cụ đầy hữu ích này rồi.

No comments:

Post a Comment