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.变量名 来使用
相关推荐
Xudde.1 分钟前
DC-1 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
海绵宝宝转agent30 分钟前
2026-10-14算法+面经总结
java·笔记·算法·缓存
skywalk816332 分钟前
Monty / 千脑理论(Thousand Brains Project)学习笔记
笔记·学习·monty·千脑理论
霖霖7141 小时前
【ESP32笔记】ESP中的分区表
笔记·单片机·mcu·物联网
Xudde.1 小时前
Billu: box 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
ouynagda2 小时前
iMX6ull Linux 嵌入式驱动开发笔记(LCD / ADXL345 / SPI 子系统)
linux·arm开发·驱动开发·笔记·嵌入式硬件
qq_284274052 小时前
信号分析·傅里叶级数与频谱(单边谱·双边谱·傅里叶变换)CSDN发布稿
笔记·学习·信号处理·傅里叶分析
xian_wwq2 小时前
【学习笔记】pgvector 入门:用 PostgreSQL 直接实现向量检索-13
笔记·学习·postgresql
程序猿乐锅2 小时前
【从0-1学习Python | 第四篇】Python 字符串和元组
java·开发语言·笔记·后端·python·学习
qq_284274052 小时前
电气控制与PLC·HMI触摸屏组态与自动伸缩门控制系统 CSDN发布稿
笔记·学习·自动化