Numpy 是一个非常好的框架,但是不能用 GPU 来进行数据运算。
Numpy is a great work, but it cannot utilize GPUs to accelerate its numerical computations. For modern deep neural networks, GPUs often provide speedups of 50x or greater, so unfortunately numpy won’t be enough for modern deep learning.
Here we introduce the most fundamental PyTorch concept: the Tensor. A PyTorch Tensor is conceptually identical to a numpy array: a Tensor is an n-dimensional array, and PyTorch provides many functions for operating on these Tensors. Like numpy arrays, PyTorch Tensors do not know anything about deep learning or computational graphs or gradients; they are a generic tool for scientific computing.
However unlike numpy, PyTorch Tensors can utilize GPUs to accelerate their numeric computations. To run a PyTorch Tensor on GPU, you simply need to cast it to a new datatype.
Here we use PyTorch Tensors to fit a two- network to random data. Like the numpy example above we need to manually implement the forward and backward passes through the network:
# -*- coding: utf-8 -*-import torchdtype = torch.FloatTensor# dtype = torch.cuda.FloatTensor # Uncomment this to run on GPU# N is batch size; D_in is input dimension;# H is hidden dimension; D_out is output dimension.N, D_in, H, D_out = 64, 1000, 100, 10# Create random input and output datax = torch.randn(N, D_in).type(dtype)y = torch.randn(N, D_out).type(dtype)# Randomly initialize weightsw1 = torch.randn(D_in, H).type(dtype)w2 = torch.randn(H, D_out).type(dtype)learning_rate = 1e-6for t in range(500): # Forward pass: compute predicted y h = x.mm(w1) h_relu = h.clamp(min=0) y_pred = h_relu.mm(w2) # Compute and print loss loss = (y_pred - y).pow(2).sum() print(t, loss) # Backprop to compute gradients of w1 and w2 with respect to loss grad_y_pred = 2.0 * (y_pred - y) grad_w2 = h_relu.t().mm(grad_y_pred) grad_h_relu = grad_y_pred.mm(w2.t()) grad_h = grad_h_relu.clone() grad_h[h < 0] = 0 grad_w1 = x.t().mm(grad_h) # Update weights using gradient descent w1 -= learning_rate * grad_w1 w2 -= learning_rate * grad_w2更多教程:http://www.tensorflownews.com/
继续阅读与本文标签相同的文章
PyTorch 实战-用 Numpy 热身
-
移动深度学习 Mobile-deep-learning(MDL)
2026-05-26栏目: 教程
-
Serpent.AI - 游戏代理框架(Python)
2026-05-26栏目: 教程
-
face-alignment:用 pytorch 实现的 2D 和 3D 人脸对齐库
2026-05-26栏目: 教程
-
ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库
2026-05-26栏目: 教程
-
pix2code:从截图生成图形用户界面代码
2026-05-26栏目: 教程
