torch
文章平均质量分 53
有关pytorch的一些
MAR-Sky
这个作者很懒,什么都没留下…
展开
-
pytorch训练好的模型在加载和保存过程中的问题
权重参数的加载到多个GPU,使用nn.DataParallel,原创 2022-06-29 18:58:55 · 891 阅读 · 0 评论 -
单词向量化理解nn.Embedding
直接理解就是将单词转化为一个向量参考:https://zhuanlan.zhihu.com/p/345450458>例如,一个包含单词的集合内有5个单词[“hello“ “you” ”are“ ”good“ ”day”],>每个单词由四个向量值组成,如 hello 由 [1,2,0,0](只是说明,程序中自动生成)表示,>其他单词也是由4个值表示,这时就可以用"nn.Embedding(5, 4)"来表示借用参考连接中的程序import torchfrom torch im原创 2021-11-20 15:04:06 · 879 阅读 · 0 评论 -
训练pytorch的两个网络训练中的一个
简单的代码实例import torchimport torch.nn as nnimport torch.nn.functional as Fimport matplotlib.pyplot as pltfrom torch.autograd import Variableclass Net(nn.Module): def __init__(self, n_input, n_hidden, n_output): super(Net, self).__init__()原创 2021-11-18 15:11:14 · 629 阅读 · 0 评论 -
pytorch中交叉熵nn.BCELoss与nn.CrossEntropyLoss的区别
参考:https://www.jb51.net/article/181634.htm简单总结nn.BCELoss :用于二分类问题,前面应该加一个Sigmoid函数(如下)当S(x)=0.5,它的斜率是最大,则在x=0时取得最大斜率nn.CrossEntropyLoss :自动在前面有Sofrmax层...原创 2021-11-17 19:33:09 · 1322 阅读 · 0 评论 -
python中list与pytorch中tensor的切片操作
切片注意界限问题>对于一个元素的形如,a[2],a[:1][7],若超出索引值的范围,会报错>但形如,a[:1][6:7] ,即使超出范围,这也只是返回一个空列表,不会报错>列表切片简单的基础形式A_list[::]参考:https://blog.csdn.net/weixin_42364852/article/details/112195292>> A_list[start:stop:step] # :之间的三个参数的含义分别是,开始索引值,结束索引值,取值之原创 2021-11-17 18:18:21 · 1717 阅读 · 2 评论 -
深度学习的gpu使用率,pytorch,nvidia,资源管理器的gpu效率显示问题
查看gpu使用率参考:https://blog.csdn.net/qq_43776757/article/details/119674848nvidia-smi -l 1,每1秒刷新一次,cmd条件下nvidia-smi,命令后显示的内容前提是有gpu,和已经将路径添加到系统路径中参考:https://blog.csdn.net/weixin_44010756/article/details/115802349若显示没有该命令,是因为没有将路径添加...原创 2021-11-05 22:01:07 · 2520 阅读 · 0 评论 -
win10下查看pyttorch实际使用的cuda版本,安装多个cuda(cuda9.0和10.0),并切换cuda版本
win10安装cuda和cudnn,切换不同版本的 cuda,在pycharm中使用cuda注意原创 2021-11-01 18:19:29 · 3237 阅读 · 1 评论 -
pytorch对网络中部分层参数的提取用到另一个网络
对网络模型的保存文件.pth的直观理解是一个包含多个键值对的集合(set)参数抽取的操作根本,就是对“相似”键值对的提取解释一下相似,因为模型在使用中可能变了名称,所以键值可能按照相同的规律同时变化,这时的键值是不同的,因此说是相似对参数抽取的步骤一,先查看被抽取的网络键值和被加载抽取参数的键值名字,看需要那些对应二、明确被抽取的网络,和被加载的网络参考:以ccpd论文中的fh02.pth和wR2.pth参数为例先说明一下,fh02.pth是有定位和车牌号识别功能参数的文件,wR2.pth原创 2021-10-29 22:39:08 · 2233 阅读 · 0 评论 -
pytorch经过gpu训练的模型的结果使用
一个模型结果形式如下,提取出来第一种方式pre_re = mymodel(x)pre_re : tensor([ 预测值的结果 ],device='cuda:0,' ,grad_fn=<AddmBackward>)#######################想要使用预测结果的内容#1.需要将输入预测进行detach(),因为tensor数据是一个整体对象pre_re.detach()的结果仍然时Tensor类型,若想使用需要使用numpy()detach后,pre_re : te原创 2021-10-29 15:22:57 · 852 阅读 · 0 评论 -
pytorch在gpu训练好的模型再次cpu使用时需要注意dict的keys多一个module,torch.load设置map_location=‘cpu‘
GPU和CPU训练的模型之间不能直接加载参数参考:https://blog.csdn.net/qq_40206371/article/details/120602334在gpu上训练好的参数,若在cpu的机器上使用参数,加载时需要添加如下map_location=‘cpu’model.load_state_dict(torch.load('*.pth',map_location='cpu')且要保证两个模型中的参数一致例如,batchsize......原创 2021-10-24 20:30:44 · 2085 阅读 · 0 评论 -
python的卷积torch.nn.Conv2d的参数个数
参考:https://blog.csdn.net/u012428169/article/details/114702453通过一个网络模型看import torchimport torch.nn as nndef get_n_params(model): pp=0 for p in list(model.parameters()): nn=1 for s in list(p.size()): nn = nn*s原创 2021-10-21 17:05:12 · 1111 阅读 · 0 评论 -
pytorch 中torch.utils.data的Dataset类和TensorDataset()与DataLoader()配合参数的数据库
一个简单的例子:需要注意的是,在对DataLoader的对象进行迭代显示或运算时,需要将训练部分放在__name__ == 'main’中Data.TensorDataset可以将训练中的输入和输出值作为一对数据。再通过DataLoader对象加载数据的方式进行设置,随机训练某批数据DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=default_collate, pin_m原创 2021-06-21 18:16:54 · 1703 阅读 · 0 评论 -
pytorch的权重/梯度值查看,梯度清零model.zero_grad()
参考:https://www.jianshu.com/p/5460b7fa3ec4、https://blog.csdn.net/weixin_41990278/article/details/111414592、https://www.cnblogs.com/picassooo/p/14153787.html、https://editor.csdn.net/md/?articleId=117135289、https://blog.csdn.net/weixin_36411839/article/det原创 2021-06-02 16:24:49 · 8385 阅读 · 0 评论 -
pytorch简单的网络搭建、保存、加载
网络的搭建参考代码:https://www.cnblogs.com/kiwiwk/p/11711671.html网络的训练框架如下图:(注意:未显示激励函数,中间层中的节点有10个,不是10个中间层)import torchimport torch.nn as nnimport numpy as np# 构建输入集x = np.mat('0 0;' '0 1;' '1 0;' '1 1')x = torch.tensor原创 2021-05-21 21:46:50 · 266 阅读 · 0 评论 -
pytorch使用gpu计算的设置,及命令
参考:https://ptorch.com/news/187.html、https://www.jb51.net/article/178049.htm设置使用gpu设备号(1)直接终端中设定CUDA_VISIBLE_DEVICES=1(2)python代码中设定:import osos.environ['CUDA_VISIBLE_DEVICE']='1'(3)使用函数set_deviceimport torchtorch.cuda.set_device(id) 常用命令torc原创 2021-05-16 22:28:55 · 5853 阅读 · 3 评论 -
torch.squeeze(),torch.unsqueeze(),torch.max()的维度
这三个函数的维度指定例如,某个数组是[2,4]的也就是2行4列的一个数组,将[2,4]作为一个列表来看,2对应得索引值是0或-2,同样4对应得索引值是1或-1torch.squeeze(),torch.unsqueeze()torch.squeeze()是压缩维度值为1的维度,相反torch.unsqueeze()是新增加一个维度且设为1squeeze()z=torch.randint(1,10,(1,4))print(z.size())print(z)y0=torch.squeeze(z,原创 2020-10-30 16:53:49 · 657 阅读 · 2 评论