Cách sử dụng cơ bản của trình soạn thảo Web đa chức năng Jupyter Notebook
Bạn đọc thân mến!
Một quãng thời gian dài tôi đã không thể viết lách gì lại được nữa. Nhân tiện có chút quãng thời gian rảnh rỗi, và việc nhận ra tính cấp thiết phải tự bồi dưỡng lại vốn ngoại ngữ ít ỏi của mình, tôi lại tiếp tục lược dịch bài tiếp theo trong chủ đề 「Pythonで始める機械学習入門」.
Ở bài viết trước, tôi đã giới thiệu qua với các bạn về những library/tool cần thiết xài trong Machine Learning/Deep Learning bằng Python. Ở bài viết này, chúng ta sẽ tìm hiểu hoạt động cơ bản và các cài đặt cần thiết đối với Jupyter Notebook.
Bắt đầu sử dụng Jupyter Notebook
Có nhiều cách để cài đặt Jupyter, và bài viết này sẽ không hướng dẫn việc đó. Nếu muốn thử ngay thì bạn đọc có thể dùng 2 dịch vụ cloud dưới đây.
Cách khởi động Jupyter Notebook
Ở command prompt, nhập vào câu lệnh dưới đây, server sẽ được khởi động, và có thể xác nhận việc hiển thị giao diện của Jupyter Notebook ở brouser.
jupyter notebook
Mặc định thì Jupyter Notebook sẽ sử dụng cổng 8888, tuy nhiên cũng có thể chỉ định cổng khác bằng tham số –port. Xem ví dụ dưới:
jupyter notebook --port 9000
Sau khi khởi động, màn hình dưới đây sẽ hiển thị. Ở màn hình này, danh sách các file trong thư mục hiện tại sẽ được hiển thị.

Cách mở một Notebook mới
Click vào button 「New」 ở góc bên phải, ròi lựa chọn 「Python 3」 thì có thể mở một Notebook mới.

Nhập code rồi thực thi
Hãy thử nhập code vào như hình dưới đây:

Click tổ hợp phím 「Shift」+「Enter」 để thực thi code.
Kết quả của phép tính ở dòng cuối cùng trong cell sẽ được hiển thị.
Kết quả của phép tính ở dòng cuối cùng trong cell sẽ được hiển thị.

Ngoài ra, sau khi thực thi thì mọt cell mới sẽ được tạo. Nếu tiếp tục nhập code mới, rồi click 「Shift」+「Enter」 thì sẽ được thực thi liên tục. Nếu click vào cell mà đã thực thi, thì có thể sửa được nội dung, rồi thực thi lại.
Thay vì click 「Shift」+「Enter」 mà click 「Ctrl」+「Enter」 thì cell cũng sẽ được thực thi, nhưng sẽ không tạo cell mới để nhập code.
Thay vì click 「Shift」+「Enter」 mà click 「Ctrl」+「Enter」 thì cell cũng sẽ được thực thi, nhưng sẽ không tạo cell mới để nhập code.

Cell trong cùng một notebook thì sẽ được coi là một section liên tục, vì vậy mà nội dung data đã load và biến số sẽ được bảo lưu. Library mà đã import môt lần, thì sẽ không cần phải import lại ở cell khác. Kết quả tính toán liên quan đến dòng cuối cùng trong cell sẽ được hiển thị ở dưới cell. Tóm lại là nếu chỉ input mỗi tên biến thì giá trị của biến đó sẽ được hiển thị.
Cách dừng Jupyter Notebook
Để dừng Jupyter Notebook, từ màn hình console đang chạy Jupyter Notebook, ấn tổ hợp phím 「Ctrl」+「C」, Jupyter Notebook server sẽ dừng.
Cách dừng việc thực thi code
Khi có sai sót mà lỡ thực thi xử lý nặng nề, thì có thể bạn sẽ muốn dừng nó giữa chừng. Trong trường hợp đó, ở menu 「Kernel」, lựa chọn 「Interupt」 thì sẽ dừng lại được. Ngoài ra, ở menu 「Kernel」, lựa chọn item 「Restart」 thì server sẽ được khởi động lại.

Cách sửa bố cục của cell
Khi muốn sửa bố cục của cell, thì sử dụng menu 「Edit」. Đặc biệt là các menu: 「Delete Cells」(xóa cell)、「Split Cell」(Tách cell )、「Merge Cell Above」(Kết hợp với cell ở trên)、「Merge Cell Below」(kết hợp với cell ở dưới).

Hiển thị DataFrame của Pandas
Kết quả tính toán thông thường thì sẽ hiển thị dưới dạng text, tuy nhiên đối với DataFrame của Pandas thì sẽ bao quanh bằng frame, tinh chỉnh rồi hiển thị như dưới đây.

「Magic command」 dùng vẽ graph của Matplotlib
Ở trong Notebook, để render graph của Matplotlib, thì phải chỉ định 「%matplotlib inline」.

Các 「Magic command」 khác
Command mà bắt đầu bằng 「%」 như thế này, thì sẽ được gọi là 「Magic command」. Các command hữu ích khác nữa là 「%timeit」. Command này sẽ đo đạc thời gian thực thi code.

Để xem thêm các magic command khác, nhập vào 「%magic」 rồi ấn 「Shift」+「Enter」 thì sẽ ra document chi tiết.

Cách xem trợ giúp của hàm, method và class, v.v…
Để xem help của hàm và method, class, v.v… thì sau tên hàm, tên method hoặc tên class, gắn thêm dấu 「?」 rồi ấn 「Shift」+「Enter」.

Thay bằng 「?」, gắn 「??」 thì phần source code tương ứng sẽ được hiển thị.

Cách nhập text theo định dạng Markdown
Ngoài code thì có thể nhập text theo định dạng Markdown. Nếu dùng một cách thuần thục thì có thể tạo presentation bao gồm code và kết quả phân tích. Để sử dụng định dạng Markdown, ở topdown menu bên phải trên cùng, lựa chọn 「Markdown」.

Sau đó, nhập text theo định dạng Markdown, rồi ấn 「Shift」+「Enter」 thì text sẽ được tinh chỉnh.
http://image.itmedia.co.jp/ait/articles/1701/11/news013_160.jpg
http://image.itmedia.co.jp/ait/articles/1701/11/news013_160.jpg


Page mà được tạo kiểu thế này thì có thể import như là HTLM để có thể xem được cả ở môi trường không cài đặt Jupyter Notebook. Khi dùng trong thuyết trình sẽ rất tiện.
Cài đặt xác thực mật khẩu của Jupyter Notebook
Sẽ có trường hợp cần đặt mật khẩu xác thực cho server Jupyter Notebook khi truy cập từ bên ngoài.
Đầu tiên , ở trong folder 「~/.jupyter」 ở server mà cài đặt Jupyter Notebook, kiểm tra file 「jupyter_notebook_config.py」 có hay không. Trường hợp không có, thì thực thi dòng code dưới đây, file sẽ được tạo ra.
Đầu tiên , ở trong folder 「~/.jupyter」 ở server mà cài đặt Jupyter Notebook, kiểm tra file 「jupyter_notebook_config.py」 có hay không. Trường hợp không có, thì thực thi dòng code dưới đây, file sẽ được tạo ra.
jupyter notebook generate-config
Tiếp theo, cài đặt password. Khởi động Jupyter Notebook ở máy tính của bạn, rồi nhập vào dòng sau.
from notebook.auth import passwd passwd()
Nếu làm thế thì sẽ có yêu cầu nhập password. Sau 2 lần nhập thì kết quả hash sẽ được hiển thị.

Tiếp theo, mở file 「jupyter_notebook_config.py」 ở trong thư mục 「~/.jupyter」 của server, rồi viết code setting giá trị hash ở trên vào giá trị 「c.NotebookApp.password」.
c.NotebookApp.password = u'sha1:977605a2ac2f:d5d134b50147f1ef053e3dc92aaf5cc214c0c263'
Đến đây thì việc setting password đã kết thúc. Ở đây, nếu khởi động server theo cách dưới đây, thì từ bên ngoài có thể kết nối vào được.
jupyter notebook --ip=0.0.0.0
Ở đây, 「–ip=0.0.0.0」 mang ý nghĩa cho phép tất cả các IP ở bên ngoài kết nối vào. Ở phía cloud, nếu kết nối vào server này, thì sẽ được yêu cầu nhập password. Ngoài password thông thường, còn có thể có cách nâng cao hơn là dùng file chứng thực thông qua SSL/TLS.

Nhận xét
Đăng nhận xét