ai学习笔记

1、

复制代码
((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding="latin-1")

从 MNIST 或 CIFAR 等经典数据集加载的数据。

复制代码
print( type(x_train), x_train.dtype)

<class 'numpy.ndarray'> float32

这里的x_train是'numpy.ndarray'类型,数值类型是float32.

float32单精度浮点数的表示方式,占用 32 位(4字节)内存.

复制代码
x_train, y_train, x_valid, y_valid = map(torch.tensor, (x_train, y_train, x_valid, y_valid))

使用 map 函数一次性将所有数据转换为 PyTorch 张量。

复制代码
print(type(x_train), x_train.dtype)

<class 'torch.Tensor'> torch.float32

type()函数返回的是对象的python类型,dtype返回的是元素的数值类型。

2、

复制代码
import torch.nn.functional as F

loss_func = F.cross_entropy #损失函数

#1.函数定义时:Python 只检查语法,不执行函数体内部代码

def model(xb):
    return xb.mm(weights) + bias #mm是矩阵乘法函数,表示 x * w + b

bs = 64
xb = x_train[0:bs]
yb = y_train[0:bs]

#创建一个 784×10 的随机张量,float类型,并计算这个张量的梯度
weights = torch.randn([784, 10], dtype = torch.float, requires_grad = True)
bias = torch.zeros(10, requires_grad = True)

#2.函数调用时:才真正执行内部代码,此时会查找变量
print(loss_func(model(xb), yb))

#另外,在Python 中定义类时不需要显式定义成员变量,可以直接通过 self.变量名 来使用
相关推荐
ysa05103028 分钟前
【并查集】判环
c++·笔记·算法
FakeOccupational2 小时前
【电路笔记 通信】IEEE 1588精密时间协议(PTP):时间戳格式+精确到ns的时间表示与处理
笔记
aaaameliaaa5 小时前
计算斐波那契数(递归、迭代)(1,1,2,3,5.....)
c语言·开发语言·笔记·算法·排序算法
小c君tt5 小时前
linux学习笔记1
linux·笔记·学习
ysu_03146 小时前
高数期末复习笔记
笔记
疯狂打码的少年7 小时前
【操作系统】段式存储管理与段页式存储管理
笔记
半导体守望者9 小时前
MKS C系列MFC CMA10 CMA50快速紧凑型手侧与PC联网教程软件驱动USB
经验分享·笔记·功能测试·自动化·制造
小c君tt9 小时前
QT笔记记录
开发语言·笔记·qt
2601_9624408410 小时前
计算机毕业设计之jsp教室管理系统
java·开发语言·笔记·分布式·算法·课程设计·推荐算法