.. raw:: html
.. raw:: html
.. raw:: html
Tài liệu
========
.. raw:: html
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.
.. raw:: html
Tra cứu tất cả các hàm và lớp trong một Mô-đun
----------------------------------------------
.. raw:: html
Để 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:
.. code:: python
from mxnet import np
print(dir(np.random))
.. parsed-literal::
:class: output
['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_mx_nd_np', 'absolute_import', 'choice', 'multinomial', 'normal', 'rand', 'randint', 'shuffle', 'uniform']
.. raw:: html
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``).
.. raw:: html
Tra cứu cách sử dụng một hàm hoặc một lớp cụ thể
------------------------------------------------
.. raw:: html
Để 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``:
.. code:: python
help(np.ones_like)
.. parsed-literal::
:class: output
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)
.. raw:: html
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.
.. code:: python
x = np.array([[0, 0, 0], [2, 2, 2]])
np.ones_like(x)
.. parsed-literal::
:class: output
array([[1., 1., 1.],
[1., 1., 1.]])
.. raw:: html
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.
.. raw:: html
.. raw:: html
.. raw:: html
Tài liệu API
------------
.. raw:: html
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).
.. raw:: html
Tóm tắt
-------
.. raw:: html
- 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.
.. raw:: html
Bài tập
-------
.. raw:: html
1. Tra cứu ``ones_like`` và ``autograd`` trên trang MXNet.
2. Tất cả các kết quả khả dĩ sau khi chạy ``np.random.choice(4, 2)`` là
gì?
3. Bạn có thể viết lại ``np.random.choice(4, 2)`` bằng cách sử dụng hàm
``np.random.randint`` không?
.. raw:: html
.. raw:: html
.. raw:: html
Thảo luận
---------
- `Tiếng Anh `__
- `Tiếng Việt `__
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