2.7. Tài liệu¶
Vì độ dài cuốn sách này có giới hạn, chúng tôi không thể giới thiệu hết tất cả các hàm và lớp của MXNet (và tốt nhất nên như vậy). Tài liệu API, các hướng dẫn và ví dụ sẽ cung cấp nhiều thông tin vượt ra khỏi nội dung cuốn sách. Trong chương này, chúng tôi sẽ cung cấp một vài chỉ dẫn để bạn có thể khám phá MXNet API.
2.7.1. Tra cứu tất cả các hàm và lớp trong một Mô-đun¶
Để biết những hàm/lớp nào có thể được gọi trong một mô-đun, chúng ta
dùng hàm dir
. Ví dụ, ta có thể lấy tất cả thuộc tính của mô-đun
np.random
bằng cách:
from mxnet import np
print(dir(np.random))
['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_mx_nd_np', 'absolute_import', 'choice', 'multinomial', 'normal', 'rand', 'randint', 'shuffle', 'uniform']
Thông thường, ta có thể bỏ qua những hàm bắt đầu và kết thúc với __
(các đối tượng đặc biệt trong Python) hoặc những hàm bắt đầu bằng _
(thường là các hàm địa phương). Dựa trên tên của những hàm và thuộc tính
còn lại, ta có thể dự đoán rằng mô-đun này cung cấp những phương thức
sinh số ngẫu nhiên, bao gồm lấy mẫu từ phân phối đều liên tục
(uniform
), phân phối chuẩn (normal
) và phân phối đa thức
(multinomial
).
2.7.2. Tra cứu cách sử dụng một hàm hoặc một lớp cụ thể¶
Để tra cứu chi tiết cách sử dụng một hàm hoặc lớp nhất định, ta dùng hàm
help
. Ví dụ, để tra cứu cách sử dụng hàm ones_like
với
ndarray
:
help(np.ones_like)
Help on function ones_like in module mxnet.numpy: ones_like(a) Return an array of ones with the same shape and type as a given array. Parameters ---------- a : ndarray The shape and data-type of a define these same attributes of the returned array. Returns ------- out : ndarray Array of ones with the same shape and type as a. Examples -------- >>> x = np.arange(6) >>> x = x.reshape((2, 3)) >>> x array([[0., 1., 2.], [3., 4., 5.]]) >>> np.ones_like(x) array([[1., 1., 1.], [1., 1., 1.]]) >>> y = np.arange(3, dtype=float) >>> y array([0., 1., 2.], dtype=float64) >>> >>> np.ones_like(y) array([1., 1., 1.], dtype=float64)
Từ tài liệu, ta có thể thấy hàm ones_like
tạo một mảng mới có cùng
kích thước với ndarray
nhưng tất cả các phần tử của nó đều chứa giá
trị 1
. Nếu có thể, bạn nên chạy thử để xác nhận rằng mình hiểu đúng.
x = np.array([[0, 0, 0], [2, 2, 2]])
np.ones_like(x)
array([[1., 1., 1.],
[1., 1., 1.]])
Trong Jupyter notebook, ta có thể dùng ?
để mở tài liệu trong một
cửa sổ khác. Ví dụ, np.random.uniform?
sẽ in ra nội dung y hệt
help(np.random.uniform)
trong một cửa sổ trình duyệt mới. Ngoài ra,
nếu chúng ta dùng dấu ?
hai lần như np.random.uniform??
thì đoạn
mã định nghĩa hàm cũng sẽ được in ra.
2.7.3. Tài liệu API¶
Chi tiết cụ thể về các API của MXNet có thể được tìm thấy tại trang http://mxnet.apache.org/. Chi tiết từng phần được tìm thấy tại các đề mục tương ứng (cho cả các ngôn ngữ lập trình khác ngoài Python).
2.7.4. Tóm tắt¶
- Tài liệu chính thức cung cấp rất nhiều các mô tả và ví dụ ngoài cuốn sách này.
- Chúng ta có thể tra cứu tài liệu về cách sử dụng MXNet API bằng cách
gọi hàm
dir
vàhelp
, hoặc kiểm tra tại trang web của MXNet.
2.7.5. Bài tập¶
- Tra cứu
ones_like
vàautograd
trên trang MXNet. - Tất cả các kết quả khả dĩ sau khi chạy
np.random.choice(4, 2)
là gì? - Bạn có thể viết lại
np.random.choice(4, 2)
bằng cách sử dụng hàmnp.random.randint
không?
2.7.6. Thảo luận¶
2.7.7. Những người thực hiện¶
Bản dịch trong trang này được thực hiện bởi:
- Đoàn Võ Duy Thanh
- Trần Hoàng Quân
- Vũ Hữu Tiệp