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

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Nếu bạn là người mới và thắc mắc muốn tìm một công cụ nào giúp phát triển cũng như hỗ trợ tương tác cho project về data science, thì có lẽ hầu hết mọi người sẽ trả lời là Jupyter Notebook.

test php

banquyen png

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Một notebook hoàn toàn có thể xuất ra một tài liệu duy nhất trong đó tích hợp hình ảnh trực quan, văn bản tường thuật, phương trình toán học và đa phương tiện khác. Chỉ cần một notebook, bạn hoàn toàn có thể trình diễn được 1 dự án Bất Động Sản, hay là 1 bài báo khoa học một cách trực quan nhất. Và Jupyter Notebook chính là thứ mà bạn đang cần tìm .

1 png

1. Jupyter Notebook là gì?

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 hỗ trợ rất nhiều các kernel cho các ngôn ngữ khác nhau, trong đó tập trung vào 3 ngôn ngữ là Julia, Python R. Jupyter là một nền tảng tính toán khoa học mã nguồn mở, với khả năng nổi bật cho phép tương tác trực tiếp với từng dòng code (interactive).

Jupyter Notebook gồm 2 thành phần chính :

  • Ứng dụng Web: cho phép tạo và chia sẻ tài liệu chứa live code, hình ảnh, tài liệu (viết dưới dạng markdown),…
  • Notebook documents: trình bày những gì có trong một notebook (code, đồ thị,…)

2. Ưu điểm của Jupyter Notebook

  • Code ngay trong trình duyệt, hỗ trợ syntax highlight, thụt lề,… như một code editor.
  • Chạy được code ngay trong trình duyệt.
  • Hiển thị kết quả tính toán bằng cách sử dụng biểu diễn đa phương tiện, như HTML, LaTeX, PNG, SVG,….
  • Hỗ trợ markdown, khiến cho việc comment cho code trở nên trực quan hơn nhiều so với việc dùng plain text.

3. Cách cài đặt Jupyter Notebook

Cách cài đặt dễ nhất, cũng như được khuyến khích nhất, đó là bạn cài Anaconda, nó cài sẵn cho ta Python, Jupyter Notebook, và ti tỉ thứ khác – tất cả những thứ mà một người bắt đầu với data science cần.

Nếu bạn không muốn cài Anaconda thì Jupyter cũng có thể cài qua pip – trình quản lý package của Python. Tất nhiên là bạn cần cài Python trước, sau đó mở terminal lên mà nhập command sau:

pip install jupyter

Hoặc nếu dùng Linux, bạn hoàn toàn có thể tải và setup bằng command :

sudo apt-get install jupyter-notebook python-matplotlib

4. Bắt đầu với Jupyter Notebook

Mở Jupyter Notebook Server

Sau khi đã thiết lập xong Jupyter, bạn chỉ cần mở terminal và nhập command sau :

jupyter notebook

Hoặc nếu đã cài Anaconda trên Windows, bạn có thể mở trực tiếp Jupyter Notebook:

2 png

Sau đó thì trên terminal sẽ hiển thị như sau :

3 png

Và sau đó thì trình duyệt sẽ bật ra một website như sau :

4 png

Vậy là Jupyter Notebook cơ bản đã được cài xong, giờ đây ta sẽ thử tạo 1 notebook và chạy thử xem nhé .

Tạo và chạy một notebook

Tạo một notebook

Để tạo một notebook, ta nhấp chuột vào nút New nằm ở bên góc phải và chọn Python 3 :

5 png

Mọi notebook mới tạo đều được đặt tên là Untitled, nếu muốn sửa bạn chỉ cần nhấp chuột vào tên, môt hộp thoại đổi tên sẽ bật ra như sau :

6 png

Nếu chuyển qua tab quản lý file thì ta sẽ thấy notebook đang chuyển sang màu xanh, đây là trạng thái Running:

7 png

Bạn hoàn toàn có thể tắt notebook bằng cách chọn và nhấn shutdown :

8 png

Hello world với notebook

Khi vừa mới tạo thì notebook sẽ tạo cho ta sẵn một cell ( ô ), cell này đang ở trạng thái ” Code “, nghĩa là bạn hoàn toàn có thể nhập code Python vào và chạy :

9 png

Chúng ta sẽ thử chạy đoạn code nhỏ in ra dòng ” Hello World ” :

10 png

Mỗi khi chạy xong một cell thì notebook sẽ tự tạo thêm 1 cell mới. Ta hoàn toàn có thể đổi cell này từ code sang markdown để viết một đoạn văn bản như sau :

11 pngVà Run cell này:

12 png

5. Hướng dẫn sử dụng Jupyter Notebook

Trong phần này, tất cả chúng ta sẽ tìm hiểu và khám phá cụ thể về những thành phần cũng như cách dùng của Jupyter Notebook .

Mở Jupyter Notebook Server

Như đã nói ở trên, bạn hoàn toàn có thể mở một notebook bằng cách chạy command sau :

jupyter notebook

Lưu ý rằng nếu bạn trỏ terminal đến thư mục nào thì Jupyter sẽ mở thư mục đó, chẳng hạn nếu như mình mở ứng dụng Jupyter mặc định trên Windows, nó sẽ mở đường dẫn “/” trên máy tính:

13 pngTa hoàn toàn có thể trỏ đến thư mục khác, chẳng hạn:

14 png

Mặc định thì sau khi chạy Jupyter Notebook, một website sẽ bật ra ( mặc định là http://localhost:8888 ) được gọi là dashboard ( bảng điều khiển và tinh chỉnh ) nó giống như một trình quản trị file, trong này sẽ hiển thị toàn bộ những file nằm trong thư mục mà ta vừa chỉ định mở với Jupyter Notebook :

15 png

Nếu như bạn muốn mở trực tiếp file notebook mà không cần phải mở trải qua dashboard thì bạn hoàn toàn có thể nhập command sau vào terminal :

jupyter notebook [tên_file].ipynb

Trong đó .ipynb chính là đuôi của một file notebook, nếu bạn chỉ nhập tên file mà không nhập đuôi thì Jupyter vẫn sẽ tự hiểu và thêm vào.

Ngoài ra, bạn trọn vẹn hoàn toàn có thể mở nhiều Jupyter Notebook cùng một lúc, mặc định thì Jupyter sẽ mở tại port 8888, và nếu bạn mở thêm thì nó sẽ nhận port gần nhất ( 8889, 8890, … ), hoặc bạn hoàn toàn có thể tự chọn port cho Jupyter khi mở như sau :

jupyter notebook --port [số bất kỳ]

Ví dụ :

16 png17 png

Giao diện của Notebook

Trong 1 notebook sẽ có 4 phần chính ( mình sẽ đánh số theo thứ tự từ 1, 2, 3, 4 ) như sau :

18 png

  • 1: Tên của file notebook, tương ứng với tên file .ipynb.
  • 2: Thanh Menu hiển thị nhiều chức năng khác nhau để điều khiển notebook.
  • 3: Thanh công cụ (toolbar) chứa các công cụ được sử dụng nhiều (run, di chuyển code cell lên xuống, restart kernel…).
  • 4: Code cell (sẽ nói kỹ ở phần tiếp)

Cấu trúc của một Notebook

Cell Code

Một notebook gồm có một chuỗi những cell. Một cell giống như một text editor mini, hoàn toàn có thể thực thi code bằng tổng hợp phím Shift + Enter hoặc nhấn nút Run trên toolbar. Tuỳ thuộc vào kiểu cell mà output sẽ khác nhau, có 4 loại cell được tương hỗ trong Jupyter Notebook :

  • Code: Là kiểu hay dùng nhất, bạn nhập và thực thi code trên loại cell này.

19 png

  • Markdown: Kiểu cell được dùng cho việc nhập văn bản, toàn bộ văn bản của bạn sẽ được format bằng Markdown

20 png

  • Raw NBConvert: được sử dụng để hiển thị các định dạng code khác nhau thành HTML hoặc LaTeX.
  • Heading: Thêm tiêu đề cho notebook, loại cell này hiện đã được merge vào Markdown và không còn được khuyến khích dùng

Ta sẽ xem xét một ví dụ nhỏ, gõ đoạn code sau sau đó nhấn Shift + Enter hoặc click Run trên toolbar :

print("Freetuts.net")

21 png

Khi bạn thực thi 1 cell, output của code sẽ được hiển thị ở phía dưới, đồng thời label ở phía bên trái chuyển từ In [ ] ( chưa thực thi ) => In [ * ] ( đang thực thi ) => In [ 1 ] ( đã thực thi – số trong ô ngoặc tương ứng với số lần thực thi cell của notebook )
Một điều cần chú ý quan tâm là không cần phải nhập hàm print mới hoàn toàn có thể in ra màn hình hiển thị được, bạn hoàn toàn có thể nhập tên biến ở cuối cell như sau :

22 png

Kernel

Cùng với cell, kernel ( nhân ) là 2 thành phần quan trọng nhất của Jupyter. Kernel thực chất là một chương trình thông dịch và thực thi code. Jupyter Notebook đã cài sẵn cho tất cả chúng ta Kernel IPython để thao tác với Python, tuy nhiên có khá nhiều kernel dành cho ngôn từ khác mà bạn hoàn toàn có thể cài thêm ( R, Julia, … ) khiến cho sử dụng Jupyter trở nên rất tiện lợi .
Khi bạn thực thi một cell code, code sẽ được thực thi bởi kernel và trả về output như những ví dụ trên. Một điều quan trọng trong Jupyter Notebook là kernel vẫn chạy và link giữa những cell code với nhau, chứ không tách rời từng cell riêng không liên quan gì đến nhau, điều này trở nên cực kỳ tiện lợi cho việc debug .
Ví dụ như bạn khai báo một hàm, import một thư viện, … vào một cell và thực thi nó, thì cell khác sẽ nhận được giá trị đó trong lần thực thi tiếp, ví dụ như :

23 png

Trong ví dụ trên, ta khai báo một hàm tính tổng như sau :

def sum(x, y):
    return x + y

Vào một cell code và thực thi, sau đó ta tạo 1 cell code khác và truyền hai biến a và b đã khai báo trước vào, và hiệu quả là tổng của 2 biến a và b đó .
Trong phần nhiều thời hạn, code của ta thường sẽ đi từ trên xuống, tuy nhiên bạn nên quan tâm tới trạng thái của từng cell code, do nó bộc lộ cell code đó đã được thực thi khi nào, ví dụ như ta đổi giá trị biến b ở cell code trên như sau :

24 pngThì sau khi ta chạy lại hàm sum ở dưới, kết quả cũng sẽ thay đổi theo:

25 png

Vì vậy, mỗi khi làm việc với notebook ta cần phải chú ý thứ tự thực thi của cell code.

Bởi vì yếu tố trên, nếu một khi notebook của bạn quá rối và bạn không biết biến nào đang chứa giá trị nào, thì cách xử lý nằm trong menu Kernel :

26 png

  • Interrupt: Nếu như cell code đang thực thi quá lâu mà bạn muốn ngừng thì bạn có thể chọn tuỳ chọn này.
  • Restart: Khởi động lại kernel, mọi biến được lưu sẽ bị xoá khỏi bộ nhớ.
  • Restart & Clear Output: Giống restart nhưng đi kèm là xoá toàn bộ output trong notebook.
  • Restart & Run All: Giống Restart nhưng sẽ thực thi lại toàn bộ các cell sau khi restart xong.

Xuất Notebook

Jupyter tương hỗ rất nhiều định dạng xuất ra như bên dưới :

27 png

Bạn chỉ cần chọn File => Download as => chọn kiểu file mà mình muốn xuất, rất đơn thuần và thuận tiện .

6. Tổng kết

Sau khi triển khai xong bài này thì nhìn chung bạn đã nắm được hầu hết concept cơ bản của Jupyter Notebook. Đây là một công cụ rất hữu dụng, dễ sử dụng và hiệu suất cao, đặc biệt quan trọng là dành cho Data Science. Bạn hoàn toàn có thể mở màn một project với Jupyter và tò mò thêm nhiều tính năng khác, nếu đang khởi đầu với Data Science, đừng quên ghé qua series về NumPy, Pandas và Matplotlib – những thư viện số 1 về giải quyết và xử lý tài liệu trên Python nhé