# PyTorch 实战-张量

Numpy 是一个非常好的框架，但是不能用 GPU 来进行数据运算。

Numpy is a great framework, 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-layer 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 torch

dtype = 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 data
x = torch.randn(N, D_in).type(dtype)
y = torch.randn(N, D_out).type(dtype)

# Randomly initialize weights
w1 = torch.randn(D_in, H).type(dtype)
w2 = torch.randn(H, D_out).type(dtype)

learning_rate = 1e-6
for 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)

# Update weights using gradient descent
w2 -= learning_rate * grad_w2

|
2月前
|

【7月更文挑战第9天】
34 0
|
3月前
|

【从零开始学习深度学习】38. Pytorch实战案例：梯度下降、随机梯度下降、小批量随机梯度下降3种优化算法对比【含数据集与源码】
【从零开始学习深度学习】38. Pytorch实战案例：梯度下降、随机梯度下降、小批量随机梯度下降3种优化算法对比【含数据集与源码】
67 0
|
1月前
|

PyTorch提供了几种张量乘法的方法，每种方法都是不同的，并且有不同的应用。我们来详细介绍每个方法，并且详细解释这些函数有什么区别：
34 4
|
1月前
|

【PyTorch】PyTorch深度学习框架实战（一）：实现你的第一个DNN网络
【PyTorch】PyTorch深度学习框架实战（一）：实现你的第一个DNN网络
75 1
|
1月前
|

【深度学习】TensorFlow面试题：什么是TensorFlow？你对张量了解多少？TensorFlow有什么优势？TensorFlow比PyTorch有什么不同？该如何选择？

83 2
|
2月前
|

【7月更文挑战第31天】在数据驱动时代，Python凭借其简洁性与强大的库支持，成为数据分析与机器学习的首选语言。**数据分析基础**从Pandas和NumPy开始，Pandas简化了数据处理和清洗，NumPy支持高效的数学运算。例如，加载并清洗CSV数据、计算总销售额等。
46 2
|
2月前
|

【7月更文挑战第30天】PyTorch以其灵活性和易用性成为深度学习的首选框架。
49 2
|
2月前
|

🚀PyTorch实战宝典：从数据分析小白到深度学习高手的飞跃之旅
【7月更文挑战第29天】在数据驱动的世界里, **PyTorch** 作为深度学习框架新星, 凭借其直观易用性和高效计算性能, 助力数据分析新手成为深度学习专家。首先, 掌握Pandas、Matplotlib等工具进行数据处理和可视化至关重要。接着, 安装配置PyTorch环境, 学习张量、自动求导等概念。通过构建简单线性回归模型, 如定义 nn.Module 类、设置损失函数和优化器, 进行训练和测试, 逐步过渡到复杂模型如CNN和RNN的应用。不断实践, 你将能熟练运用PyTorch解决实际问题。
35 1
|
1月前
|

Pytorch入门—Tensors张量的学习
Pytorch入门—Tensors张量的学习
15 0
|
3月前
|

Pytorch - 张量转换拼接

35 6