打卡-2023-3-30

数学

张成空间

给定向量的加减和数乘的结果组成的空间

向量计算

积:两数相乘的结果

点乘

点积、内积、数量积、标量积

计算
|a|*|b|*sinθ

几何意义
两个向量在方向上的相似度
大于零:0~90°
等于零:90°
小于零:90~180°

叉乘

外积、向量积

计算
|a|*|b|*cos θ

几何意义
向量组成的平行四边形面积

张量tensor

统一各个维度的数组

标量:0维张量
向量:1维张量
矩阵:2维张量
高位数组

深度学习

张量

numpy:ndarrya

在cpu上运算

读取图像获得数据,数据类型就是ndaary

pytorch:tensor

既可以在cpu上运算,也可以在gpu上运算
为深度学习准备

两者转换

numpy()
from_numpy()
ndaary和tensor共享内存,改变其中一个,另一个也会改变

python

with ~ as ~

资源管理
通常用于文件的打开、网络的建立等
with open(文件)as f
with的代码块执行后,自动关闭文件

**kwargs

当不确定函数参数时,使用 **kwargs接受以键值对方式传入的不定参数,kwargs相当于字典

定义
def myfunc(** kwargs)
调用
myfunc(“kw1” = 11, “kw2” = 22)
遍历参数
for kew, value in kwargs.items()
~~

字典 iterms()

获取字典所有的键值对

字典和**

将字典解包为多个键值对
可以将解包后的键值对,当作参数传递给函数

lambda匿名函数

lambda arguments : expression
arguments:匿名函数接受的参数
expression:匿名函数执行的语句

lambda:storage, loc :strorage
接受两个参数storage和loc,返回storage

format格式化

num = 3.1415926
formatted_str = ‘{:.4f}’.format(num)
print(formatted_str)

“:”代表开始格式化

字符串拼接join()

separator.join(iterable)
将可迭代对象iterable中元素,连接成一个字符串。
每个元素间的分隔符是separator

‘’.join(log)
将可迭代对象log中元素,无间隔地连接成一个字符串

matplotlib:agg

import matplotlib
matplotlib.use(‘Agg’)
AGG后端:非交互式,后端渲染
生成的图像,不会显示在屏幕上,而是保存在文件中
常用于服务器,或是没有GUI的系统

渲染:将场景描述,转化为图像的过程

map(function, iterable)

遍历可迭代对象iterable中元素,使用function函数处理元素
返回一个新的可迭代对象,元素为function的返回值

for循环遍历的另一种实现方式

def square(x):
    return x ** 2

lst = [1, 2, 3]
result = map(square, lst)
print(list(result))  # 输出 [1, 4, 9]

pytotch

dataset

抽象类
针对具体的数据集特点,建立对应的数据集类

必须实现函数
init 函数中实现对数据的预处理操作

getitem(self, index):返回该数据集中第 index 个样本。该函数的返回值可以是一张图片,或者是一个字典(包含图像、标签等信息)。

len(self):返回数据集中样本的总数。

示例

from torch.utils.data import Dataset

class MyDataset(Dataset):
    def __init__(self, data, labels, transform=None):
        self.data = data
        self.labels = labels
        self.transform = transform

    def __getitem__(self, index):
        x = self.data[index]
        y = self.labels[index]

        if self.transform:
            x = self.transform(x)

        return x, y

    def __len__(self):
        return len(self.data)

dataloader

使用程序类
在dataset上迭代,批量化数据,打乱数据,并行加载数据

module:forward

模型的核心函数
模型的正向传播

loss:scheduler与step

scheduler学习率调度对象
损失函数的scheduler对象,可以根据一定条件,调整优化器的学习率
例如,在训练早期,调大学习率,加速收敛;在训练后期,调小学习率,防止过拟合
scheduler.step()
调整优化器的学习的方法

nn.DataParallel

用于数据并行的模型容器
将模型复制到指定设备上(gpu),每个设备运行一部分张量计算,最后整合计算结果,以此达到加速计算的目的

模型保存与加载

保存模型
torch.save(model, ‘model.pt’)
加载模型
model = torch.load(‘model.pt’)

保存模型参数
torch.save(model.state_dict(), ‘model_params.pt’)
加载模型
model = Model()
state_dict = torch.load(‘model_params.pt’)
model.load_state_dict(state_dict)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值