一、完整代码
1、CNN.py
import torch
# 神经网络定义
class CNN(torch.nn.Module):
def __init__(self):
......
PyTorch实现神经网络 房价预测模型
原理就是,已经有了506条样本数据,其中13列是房子的特征数据,1列是房价数据。
取496条作为训练数据,10条最后测试验证。
根据496条数据,训练一个模型,输入13个特征,能返回一个预测房价pre......
CLIP模型 Demo
一、安装依赖
pip install ftfy regex tqdm # 安装 clip 的依赖包
pip install git+https://github.com/openai/CLIP.git......
PyTorch入门学习 14-torch.normal、均值、平方差
一、什么是均值和标准差
先复习下数学。
给定几个数,如 5、6、8、9
1、均值
平均数,即 (5+6+8+9)/4=7
2、标准差
反映各个数与平均值的距离,标准差越大,说明越离散。标......
PyTorch入门学习 13-torch.norm
norm 是计算范数,范数就是对矩阵(向量)里的数进行某种运算,获得一个数值,形容这个矩阵的规模(大小)
norm(a, p) 有2个参数
a 是一个张量,p是一个数字
公式如下:
即......
PyTorch入门学习 12-矢量计算比循环计算快很多、time()
两个向量相加或者其他运算,尽可能采用矢量计算。比对每个元素循环计算快几个数量级(几百倍、千倍)。
可以使用 time() 获取当前时间戳毫秒数
代码
from time import time
im......
PyTorch入门学习 11-梯度计算3,中断梯度追踪,想修改Tensor值不影响梯度
一、正常情况,默认会自动计算梯度
代码
import torch
x = torch.tensor([[1.0, 2.0], [3.0, 4.0]], requires_grad=True) # ......
PyTorch入门学习 10-梯度计算2,不支持张量对张量的求导,它只支持标量对张量的求导
标量(Scalar):
标量是一个单独的数,它没有方向,只有大小。
在深度学习中,标量通常表示一个单独的数值,例如温度、长度或重量等。
张量(Tensor):
张量是超过二维的数组,可以......
PyTorch入门学习 9-梯度计算1
梯度,我们先简单认为就是函数的导数
比如 y=x*2,y'=2*x
代入x1 = 3,则此时梯度为 6
代码1
import torch
x = torch.tensor([3.0], ......
PyTorch入门学习 8-Tensor和NumPy相互转换
主要使用 numpy() 和 from_numpy 实现 Tensor 和 NumPy的数据转换
关于是否共享内存,总结下
NumPy转Tensor
共享内存
torch.from_numpy(......
PyTorch入门学习 7-内存开销问题
使用 id()查询变量的内存地址
会开辟新内存的
y = x + y
y = torch.add(x, y)
y = x.add(y)
不会开辟新内存的
y += x
y.add......
PyTorch入门学习 6-广播机制
广播机制:当2个张量形状不同时,会对两者的元素进行复制,使形状相同后再操作。
先来个简单的例子
代码1
import torch
a = torch.ones(3) # 生成一个长度为3的全1张量......
PyTorch入门学习 5-线性代数 trace、diag、triu、mm、bmm、addmm、inverse、t
代码
import torch
x = torch.arange(1, 5).view(2, 2)
# 1 2
# 3 4
print(x)
# 例1、求对角线之和
print(torch.trac......
PyTorch入门学习 4-连续性、view, reshape, clone
一、连续性判断
连续性:底层数据的存储顺序与张量按行优先一维展开的元素顺序是否一致
代码
import torch
# 例1、连续性判断
x = torch.arange(6)
print(x)
pr......
PyTorch入门学习 3-索引 index_select, gather
代码
import torch
print('# 1、索引选择,一维矩阵')
x = torch.arange(0, 5, 1) # 从0到5,步长为1。等价于 x = torch.tensor([......