一、基础知识
1、张量概念:多维数组
2、Vaiable:用于封装张量(因为需要对张量计算,如求导等,因此封装成一组对象)
data:被包装的数据、gard:张量梯度、grad_fn:记录张量所被应用的计算,主要还是用于求导、resquires_grad;是否求导、is_leaf:指示是否是叶子结点,用于构建结构图。注:device:表示张量所在设备,是加速的关键。
3、张量创建
1)直接创建:pytorch.tensor(),已经有数据了,有点像数据转化。
2)从numpy创建tensor:torch.from_numpy(ndarray)。注:内存共享,该ndarray则tensor变化,反之也是。
3)依据数值创建:torch.zeros(),layout:内存中的存储形式,默认即可(另一种是稀疏存储)
torch.ones_like():依据input形状创建全1张量。
torch.full()/ torch.full_like():依据input形状创建全value张量。
torch.arrange():创建等差数列。
torch.linespace():创建均分的一维数列。
torch.eye():创建单位对角矩阵(二维)。
4)依概率分步:torch.normal(),正态分布。
torch.randn()/torch.randn_likes(),标准正态分布。
torch.rand()/torch.rand_likes(),均匀分布。
torch.randint()/torch.randint_likes(),整数均匀分布。
torch.randperm():生成0-1的随机排列。
torch.bernoulli():以input为概率生成伯努利分布。
二、问题讲解
1、为什么需要虚拟环境?
因为不同的项目使用的python版本不同,使用的包也不同,为了管理不同的项目使用虚拟环境进行使用。