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.变量名 来使用
相关推荐
1104.北光c°3 小时前
我理解的Leaf号段模式:美团分布式ID生成系统
java·开发语言·笔记·分布式·github·leaf
就叫飞六吧3 小时前
两步实现支付宝沙箱
笔记
Stream_Silver3 小时前
【系统架构设计师】第一章 计算机硬件 1.1 计算机硬件组成
笔记·硬件架构
山川行3 小时前
Git学习笔记:Git进阶操作
笔记·git·vscode·学习·编辑器·visual studio code
CDN3603 小时前
运维笔记|360CDN高防服务器部署教程,抗D+源站防护一站式配置
运维·服务器·笔记
左左右右左右摇晃3 小时前
Java Object 类笔记
java·笔记
橘bird3 小时前
LangChain1.2 学习笔记(自用)(未完结)
笔记·python·学习·langchain
智者知已应修善业3 小时前
【任何一个自然数m的立方均可写成m个连续奇数之和】2024-10-17
c语言·数据结构·c++·经验分享·笔记·算法