Cài đặt như thế này? (không, có cách tốt hơn)
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu132
Cài đặt như thế này.
Bật Docker for Windows 4.85.0 lên. Tạo thư mục C:\vytorch . Sau đó chạy lệnh
docker run --gpus all -it --rm --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --net=host -v C:\vytorch:/workspace/vytorch nvcr.io/nvidia/pytorch:26.07-py3
Chờ 10 phút, với đường truyền 45 MB/giây.

Dưới đây là biểu diễn công thức toán học tương ứng cho các hàm và ma trận Jacobian trong đoạn mã PyTorch.
1. Hàm exp_reducer
Hàm nhận đầu vào là ma trận $X \in \mathbb{R}^{2 \times 2}$ và tính tổng số mũ theo từng hàng:
$$\mathbf{y} = f(X) = \begin{bmatrix} y_1 \\ y_2 \end{bmatrix} = \begin{bmatrix} e^{x_{11}} + e^{x_{12}} \\ e^{x_{21}} + e^{x_{22}} \end{bmatrix}$$
Ma trận Jacobian có kích thước $(2, 2, 2)$, biểu diễn đạo hàm từng phần $\frac{\partial y_i}{\partial x_{jk}}$:
$$J_1 = \frac{\partial y_1}{\partial X} = \begin{bmatrix} e^{x_{11}} & e^{x_{12}} \\ 0 & 0 \end{bmatrix}, \quad J_2 = \frac{\partial y_2}{\partial X} = \begin{bmatrix} 0 & 0 \\ e^{x_{21}} & e^{x_{22}} \end{bmatrix}$$
Tổng quát:
$$\frac{\partial y_i}{\partial x_{jk}} = \begin{cases} e^{x_{ik}} & \text{nếu } i = j \\ 0 & \text{nếu } i \neq j \end{cases}$$
2. Hàm exp_adder
Hàm nhận hai đầu vào $\mathbf{x}, \mathbf{y} \in \mathbb{R}^2$:
$$\mathbf{z} = f(\mathbf{x}, \mathbf{y}) = 2 e^{\mathbf{x}} + 3\mathbf{y} = \begin{bmatrix} 2e^{x_1} + 3y_1 \\ 2e^{x_2} + 3y_2 \end{bmatrix}$$
Đạo hàm Jacobian trả về cặp ma trận $(J_{\mathbf{x}}, J_{\mathbf{y}})$:
$$J_{\mathbf{x}} = \frac{\partial \mathbf{z}}{\partial \mathbf{x}} = \begin{bmatrix} 2e^{x_1} & 0 \\ 0 & 2e^{x_2} \end{bmatrix}, \quad J_{\mathbf{y}} = \frac{\partial \mathbf{z}}{\partial \mathbf{y}} = \begin{bmatrix} 3 & 0 \\ 0 & 3 \end{bmatrix}$$
3. Hàm linear_model
Mô hình tuyến tính $Y = f(X) = X W^T + \mathbf{1}_4 b^T$ với $X \in \mathbb{R}^{4 \times 2}$, trọng số $W \in \mathbb{R}^{2 \times 2}$, và bias $b \in \mathbb{R}^2$:
$$W = \begin{bmatrix} 2.0 & -1.0 \\ 0.0 & 1.0 \end{bmatrix}, \quad b = \begin{bmatrix} 1.0 \\ 0.5 \end{bmatrix}$$
Biểu thức chi tiết từng phần tử $Y_{ij}$:
$$Y_{ij} = \sum_{l=1}^{2} X_{il} W_{jl} + b_j$$
Đạo hàm Jacobian có kích thước $(4, 2, 4, 2)$:
$$\frac{\partial Y_{ij}}{\partial X_{kl}} = \delta_{ik} W_{jl}$$
(Trong đó $\delta_{ik} = 1$ nếu $i = k$, ngược lại $\delta_{ik} = 0$)
Chạy Jupyterlab
python -m jupyterlab --ip=0.0.0.0 --port=8888 --allow-root --no-browser

Hệ thống sẽ báo lỗi, do thiếu port mapping. Tắt container, chạy lại
docker run --gpus all -it --rm --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 -v C:\vytorch:/workspace/vytorch nvcr.io/nvidia/pytorch:26.07-py3
chạy lại jupyter
python -m jupyterlab --ip=0.0.0.0 --port=8888 --allow-root --no-browser
Mã nguồn https://gist.github.com/donhuvy/52bdcfdae148fe20fc5e255d4f0510e2

at 17:00 Saturday

270 Mbps = 270,000,000 bit per second = (270,000,000 / 8) byte per second = 33750000 byte per second = 33,75 MB per second.
MB != MiB (1000x , and, 1024x).
Để lại một bình luận