Documentation ============= .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
Do những hạn chế về độ dài của cuốn sách này, chúng tôi không thể giới thiệu mọi chức năng và lớp MXNet duy nhất (và có lẽ bạn sẽ không muốn chúng tôi). Các tài liệu API và các hướng dẫn bổ sung và ví dụ cung cấp nhiều tài liệu ngoài cuốn sách. Trong phần này, chúng tôi cung cấp cho bạn một số hướng dẫn để khám phá API MXNet. .. raw:: html
.. raw:: html
Do những hạn chế về độ dài của cuốn sách này, chúng ta không thể giới thiệu mọi hàm và lớp PyTorch (và có lẽ bạn sẽ không muốn chúng tôi). Các tài liệu API và các hướng dẫn bổ sung và ví dụ cung cấp nhiều tài liệu ngoài cuốn sách. Trong phần này, chúng tôi cung cấp cho bạn một số hướng dẫn để khám phá API PyTorch. .. raw:: html
.. raw:: html
Do những hạn chế về độ dài của cuốn sách này, chúng ta không thể giới thiệu mọi hàm và lớp TensorFlow (và có lẽ bạn sẽ không muốn chúng tôi). Các tài liệu API và các hướng dẫn bổ sung và ví dụ cung cấp nhiều tài liệu ngoài cuốn sách. Trong phần này, chúng tôi cung cấp cho bạn một số hướng dẫn để khám phá API TensorFlow. .. raw:: html
.. raw:: html
Tìm tất cả các hàm và lớp học trong một mô-đun ---------------------------------------------- Để biết các hàm và lớp nào có thể được gọi trong một mô-đun, chúng ta gọi hàm ``dir``. Ví dụ, chúng ta có thể truy vấn tất cả các thuộc tính trong mô-đun để tạo ra số ngẫu nhiên: .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. 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', 'beta', 'chisquare', 'choice', 'exponential', 'gamma', 'gumbel', 'logistic', 'lognormal', 'multinomial', 'multivariate_normal', 'normal', 'pareto', 'power', 'rand', 'randint', 'randn', 'rayleigh', 'shuffle', 'uniform', 'weibull'] .. raw:: html
.. raw:: html
.. code:: python import torch print(dir(torch.distributions)) .. parsed-literal:: :class: output ['AbsTransform', 'AffineTransform', 'Bernoulli', 'Beta', 'Binomial', 'CatTransform', 'Categorical', 'Cauchy', 'Chi2', 'ComposeTransform', 'ContinuousBernoulli', 'CorrCholeskyTransform', 'Dirichlet', 'Distribution', 'ExpTransform', 'Exponential', 'ExponentialFamily', 'FisherSnedecor', 'Gamma', 'Geometric', 'Gumbel', 'HalfCauchy', 'HalfNormal', 'Independent', 'IndependentTransform', 'Kumaraswamy', 'LKJCholesky', 'Laplace', 'LogNormal', 'LogisticNormal', 'LowRankMultivariateNormal', 'LowerCholeskyTransform', 'MixtureSameFamily', 'Multinomial', 'MultivariateNormal', 'NegativeBinomial', 'Normal', 'OneHotCategorical', 'OneHotCategoricalStraightThrough', 'Pareto', 'Poisson', 'PowerTransform', 'RelaxedBernoulli', 'RelaxedOneHotCategorical', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'StudentT', 'TanhTransform', 'Transform', 'TransformedDistribution', 'Uniform', 'VonMises', 'Weibull', 'Wishart', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'bernoulli', 'beta', 'biject_to', 'binomial', 'categorical', 'cauchy', 'chi2', 'constraint_registry', 'constraints', 'continuous_bernoulli', 'dirichlet', 'distribution', 'exp_family', 'exponential', 'fishersnedecor', 'gamma', 'geometric', 'gumbel', 'half_cauchy', 'half_normal', 'identity_transform', 'independent', 'kl', 'kl_divergence', 'kumaraswamy', 'laplace', 'lkj_cholesky', 'log_normal', 'logistic_normal', 'lowrank_multivariate_normal', 'mixture_same_family', 'multinomial', 'multivariate_normal', 'negative_binomial', 'normal', 'one_hot_categorical', 'pareto', 'poisson', 'register_kl', 'relaxed_bernoulli', 'relaxed_categorical', 'studentT', 'transform_to', 'transformed_distribution', 'transforms', 'uniform', 'utils', 'von_mises', 'weibull', 'wishart'] .. raw:: html
.. raw:: html
.. code:: python import tensorflow as tf print(dir(tf.random)) .. parsed-literal:: :class: output ['Algorithm', 'Generator', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_sys', 'all_candidate_sampler', 'categorical', 'create_rng_state', 'experimental', 'fixed_unigram_candidate_sampler', 'gamma', 'get_global_generator', 'learned_unigram_candidate_sampler', 'log_uniform_candidate_sampler', 'normal', 'poisson', 'set_global_generator', 'set_seed', 'shuffle', 'stateless_binomial', 'stateless_categorical', 'stateless_gamma', 'stateless_normal', 'stateless_parameterized_truncated_normal', 'stateless_poisson', 'stateless_truncated_normal', 'stateless_uniform', 'truncated_normal', 'uniform', 'uniform_candidate_sampler'] .. raw:: html
.. raw:: html
Nói chung, chúng ta có thể bỏ qua các hàm bắt đầu và kết thúc bằng ``__`` (các đối tượng đặc biệt trong Python) hoặc các hàm bắt đầu bằng một ``_`` duy nhất (thường là hàm nội bộ). Dựa trên hàm hoặc tên thuộc tính còn lại, chúng ta có thể nguy hiểm đoán rằng mô-đun này cung cấp các phương pháp khác nhau để tạo ra các số ngẫu nhiên, bao gồm lấy mẫu từ phân phối thống nhất (``uniform``), phân phối bình thường (``normal``), và phân phối đa phương thức (``multinomial``). Tìm cách sử dụng các hàm và lớp cụ thể -------------------------------------- Đối với các hướng dẫn cụ thể hơn về cách sử dụng một hàm hoặc lớp nhất định, chúng ta có thể gọi hàm ``help``. Ví dụ, chúng ta hãy khám phá các hướng dẫn sử dụng cho hàm ``ones`` của tensor. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python help(np.ones) .. parsed-literal:: :class: output Help on function ones in module mxnet.numpy: ones(shape, dtype=, order='C', ctx=None) Return a new array of given shape and type, filled with ones. This function currently only supports storing multi-dimensional data in row-major (C-style). Parameters ---------- shape : int or tuple of int The shape of the empty array. dtype : str or numpy.dtype, optional An optional value type. Default is `numpy.float32`. Note that this behavior is different from NumPy's `ones` function where `float64` is the default value, because `float32` is considered as the default data type in deep learning. order : {'C'}, optional, default: 'C' How to store multi-dimensional data in memory, currently only row-major (C-style) is supported. ctx : Context, optional An optional device context (default is the current default context). Returns ------- out : ndarray Array of ones with the given shape, dtype, and ctx. Examples -------- >>> np.ones(5) array([1., 1., 1., 1., 1.]) >>> np.ones((5,), dtype=int) array([1, 1, 1, 1, 1], dtype=int64) >>> np.ones((2, 1)) array([[1.], [1.]]) >>> s = (2,2) >>> np.ones(s) array([[1., 1.], [1., 1.]]) .. raw:: html
.. raw:: html
.. code:: python help(torch.ones) .. parsed-literal:: :class: output Help on built-in function ones: ones(...) ones(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> Tensor Returns a tensor filled with the scalar value `1`, with the shape defined by the variable argument :attr:`size`. Args: size (int...): a sequence of integers defining the shape of the output tensor. Can be a variable number of arguments or a collection like a list or tuple. Keyword arguments: out (Tensor, optional): the output tensor. dtype (:class:`torch.dtype`, optional): the desired data type of returned tensor. Default: if ``None``, uses a global default (see :func:`torch.set_default_tensor_type`). layout (:class:`torch.layout`, optional): the desired layout of returned Tensor. Default: ``torch.strided``. device (:class:`torch.device`, optional): the desired device of returned tensor. Default: if ``None``, uses the current device for the default tensor type (see :func:`torch.set_default_tensor_type`). :attr:`device` will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. requires_grad (bool, optional): If autograd should record operations on the returned tensor. Default: ``False``. Example:: >>> torch.ones(2, 3) tensor([[ 1., 1., 1.], [ 1., 1., 1.]]) >>> torch.ones(5) tensor([ 1., 1., 1., 1., 1.]) .. raw:: html
.. raw:: html
.. code:: python help(tf.ones) .. parsed-literal:: :class: output Help on function ones in module tensorflow.python.ops.array_ops: ones(shape, dtype=tf.float32, name=None) Creates a tensor with all elements set to one (1). See also `tf.ones_like`, `tf.zeros`, `tf.fill`, `tf.eye`. This operation returns a tensor of type `dtype` with shape `shape` and all elements set to one. >>> tf.ones([3, 4], tf.int32) Args: shape: A `list` of integers, a `tuple` of integers, or a 1-D `Tensor` of type `int32`. dtype: Optional DType of an element in the resulting `Tensor`. Default is `tf.float32`. name: Optional string. A name for the operation. Returns: A `Tensor` with all elements set to one (1). .. raw:: html
.. raw:: html
Từ tài liệu, chúng ta có thể thấy rằng hàm ``ones`` tạo ra một tensor mới với hình dạng được chỉ định và đặt tất cả các phần tử thành giá trị của 1. Bất cứ khi nào có thể, bạn nên chạy một bài kiểm tra nhanh để xác nhận giải thích của bạn: .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python np.ones(4) .. parsed-literal:: :class: output array([1., 1., 1., 1.]) .. raw:: html
.. raw:: html
.. code:: python torch.ones(4) .. parsed-literal:: :class: output tensor([1., 1., 1., 1.]) .. raw:: html
.. raw:: html
.. code:: python tf.ones(4) .. parsed-literal:: :class: output .. raw:: html
.. raw:: html
Trong sổ ghi chép Jupyter, chúng ta có thể sử dụng ``?``\ để hiển thị tài liệu trong một cửa sổ khác. Ví dụ: ``list?``\ sẽ tạo nội dung gần giống với ``help(list)``, hiển thị nó trong một cửa sổ trình duyệt mới. Ngoài ra, nếu chúng ta sử dụng hai dấu hỏi, chẳng hạn như ``list??``, mã Python thực hiện hàm cũng sẽ được hiển thị. Tóm tắt ------- - Tài liệu chính thức cung cấp rất nhiều mô tả và ví dụ vượt ra ngoài cuốn sách này. - Chúng ta có thể tra cứu tài liệu cho việc sử dụng API bằng cách gọi các hàm ``dir`` và ``help``, hoặc ``?`` and ``??``\ trong máy tính xách tay Jupyter. Bài tập ------- 1. Tra cứu tài liệu cho bất kỳ chức năng hoặc lớp học nào trong khuôn khổ học sâu. Bạn cũng có thể tìm thấy tài liệu trên trang web chính thức của khuôn khổ? .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html