pytorch学习ing
安装pytorch
cpu版本
把之前安装的pytorch-cpu版本卸载了,现在要重新下回来,按照官网上给出的conda下载方式conda install pytorch-cpu torchvision-cpu -c pytorch
总报错
the following package are not available from current channels
然后看到网上有博客用pip的方法在Anaconda prompt中安装,就使用
pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1-cp36-cp36m-win_amd64.whl
pip3 install torchvision
完成在conda中pytorch的安装。
gpu版本
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
torch.bmm
做矩阵乘法
torch.transpose
torch.transpose(tensor,a,b) 将tensor的第a维和第b维交换。
线性层
nn.Linear(in_features, out_features, bias=True)
线性变换层
采样 torch.utils.data.sampler
SequentialSampler
默认的采样器 按顺序采样
RandomSampler
打乱数据 随机采样 没有替换
WeightedRandomSampler
根据每个样本的权重选取数据
参数:weights——权重 num_samples——采样个数
SubsetRandomSampler
样本从指定的索引中随机采样 无替换
参数:indices——索引
BatchSampler
一个batch中可以定义一个采样器
参数:sampler——该batch中的采样器 batch_size——batch大小 drop_last——是否丢弃最后一个不完整的batch
torch中的missing key的问题
在训练模型时使用了torch.nn.DataParallel(),但在测试时模型并未使用,会报错。
torch中的tensor
torch.tensor
将np转换为张量。
torch.empty(a,b).uniform_(x,y)
生成维度为a*b的、范围在x~y之间的初始化tensor
torch.cat()
tensorflow中的tf.concat 拼接两个张量的作用
损失函数
nn.NLLLoss
输入是对数概率向量和目标标签
nn.CrossEntropyLoss
交叉熵
文本长度对齐
使用packed_pad_sequence和pad_packed_sequence
返回指定维度的最大值
max=torch.argmax(out,dim= )
Reference
写在最最后 看到当初取的名字…怎么现在就在学torch了呢