
pytorch
YoJayC
这个作者很懒,什么都没留下…
展开
-
pytorch set_epoch()方法
在分布式模式下,需要在每个 epoch 开始时调用 set_epoch() 方法,然后再创建 DataLoader 迭代器,以使 shuffle操作能够在多个 epoch 中正常工作。 否则,dataloader迭代器产生的数据将始终使用相同的顺序。sampler = DistributedSampler(dataset) if is_distributed else Noneloader = DataLoader(dataset, shuffle=(sampl...翻译 2021-11-25 10:45:02 · 8496 阅读 · 6 评论 -
pytorch中tensor进行reshape操作后原始数据的顺序
在pytorch中,经常需要对tensor进行reshape操作,使其符合特定网络的输入格式。在将网络的输出重新reshape回输入前的形状时,tensor的特征是否还是按输入的顺序进行排列?带着疑问做了下面的实验x1 = torch.randn(2, 3) x2 = torch.randn(2, 3) x3 = torch.randn(2, 3) x4 = torch.stack((x1, x2, x3), 0) shape = x4.shape print("x4:",原创 2021-11-19 14:47:29 · 3265 阅读 · 2 评论 -
torch.autograd.variable
在PyTorch0.4.0之后Variable 已经被PyTroch弃用Variable不再是张量使用autograd的必要条件只需要将张量的requires_grad设为True该tensor就会自动支持autograd运算在新版的PyTorch中Variable(tensor)和Varialbe(tensor, requires_grad)还能继续使用,但是返回的是tensor,而不是VariableVariable.data的效果和tensor.data一样诸如Variable原创 2021-08-03 15:33:53 · 7039 阅读 · 0 评论 -
分类问题 测试时混淆矩阵出现nan错误
执行时clip_length设为64,但是模型训练时是按照clip_length = 16训练的这样导致最后计算准确率时一大半都是0,出现除零错误将测试时的clip_length设为16后解决原创 2021-04-27 14:54:53 · 1151 阅读 · 0 评论 -
RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 ‘weight‘
出现该错误时,提示错误位置在File "network_pytorch.py", line 99, in forward x = self.conv(x) # wronged表示输入的是CPU类型的变量,但是权重是CUDA类型的,即网络和输入不在同一设备上但是,在输入网络之前,输入已经按照input = torch.randn([20, 16, 8, 1, 81920])input.cuda()转到GPU上了在https://www.jianshu.com/p/b6e原创 2021-02-22 15:36:54 · 525 阅读 · 0 评论 -
SpherePHD球面卷积和池化
为了将CNN应用到球形多面体上,需要设计满足下列标准的卷积和池化核:卷积核应适用于用SpherePHD表示的所有像素点 pixel of interest应该位于卷积核的中心。卷积的输出应该无偏差地维持每个像素点的局部和相邻信息 卷积核的设计应该考虑相邻的三角形像素有不同的朝向 池化核应该将SpherePHD表示的图片(球形多面体表示)从更高的子划分降低到更低的子划分为了使用传统的二维卷积方法实现SpherePHD中的卷积层,首先用位置索引来表示每个子划分的像素位置。通过使用给定子划分中的索翻译 2020-12-22 10:26:51 · 926 阅读 · 0 评论 -
attributeerror module ‘torch.utils.data‘ has no attribute ‘iterabledataset‘
使用tfrecord在pytorch上读取tensorflow数据集时出现attributeerror module 'torch.utils.data' has no attribute 'iterabledataset'网上有人说出现这个问题的原因是因为pytorch文件损坏,解决方法是用相同版本的pytorch替换但是替换了还是不行最后在pytorch说明文档中发现pytorch1.2之前的版本都是没有torch.utils.data.IterableDatset这个类的卸载低版本的p原创 2020-12-12 21:15:55 · 1708 阅读 · 2 评论 -
nn.Embedding的使用
一般使用torch.nn.Embedding(num_embeddings: int, embedding_dim: int)时只用到前两个参数num_embeddings表示嵌入的字典个数,如果输入的的是数组,那么num_embeddings至少要比数组中最大的元素要大否则,会出现IndexError: index out of range in self# embedding = nn.Embedding(10, 3)# 前一个数至少要比输入元素中最大值要大embedding = nn原创 2020-12-07 15:31:40 · 2087 阅读 · 0 评论 -
使用torch.nn.BatchNorm1d出现Tensor for argument #2 ‘weight‘ is on CPU, but expected it to on GPU错误
st_gcn网络定义中使用了torch.nn.BatchNorm1d,在运行网络时出现RuntimeError: Tensor for argument #2 'weight' is on CPU, but expected it to be on GPU (while checking arguments for cudnn_batch_norm)论坛中的解释是因为在forward函数中直接定义并使用了一个函数,但是源代码中是在__init__函数中定义,forward函数中再使用的github上原创 2020-11-12 17:15:30 · 7377 阅读 · 3 评论 -
一维卷积神经网络的理解
设输入的数据维度是B x S x T一维卷积神经网络在维度S上进行卷积如下,设置一维卷积网络的输入通道为16维,输出通道为33维,卷积核大小为3,步长为2# in_channels: 16# out_channels: 33# kernel_size: 3m = nn.Conv1d(16, 33, 3, stride=2)input = torch.randn(20, 16, 50)output = m(input)# shape of output is ([20, 33, 24原创 2020-11-07 20:58:03 · 6541 阅读 · 1 评论 -
tensor.mean(-1)和tensor.mean(1)的理解
torch.mean(input,dim,keepdim=False,*,out=None)→ Tensor第二个参数dim表示对哪个维度求均值a = torch.randn(2, 3)b = a.mean(1)c = a.mean(-1)print(a)print(b)print(c)tensor([[-1.2267, 0.4601, -1.7988], [ 0.2121, -1.5083, -0.2360]])tensor([-0.8551, -...原创 2020-11-06 10:40:47 · 7149 阅读 · 2 评论 -
pytorch dataloader和batch_size大小的理解
pytorch中dataloader的大小将根据batch_size的大小自动调整。如果训练数据集有1000个样本,并且batch_size的大小为10,则dataloader的长度就是100。需要注意的是,如果dataset的大小并不能被batch_size整除,则dataloader中最后一个batch可能比实际的batch_size要小。例如,对于1001个样本,batch_size的大小是10,train_loader的长度len(train_loader)=101,最后一个batch将仅含一个原创 2020-10-28 19:21:18 · 31667 阅读 · 0 评论 -
nn.Embedding理解
embedding = nn.Embedding(10, 3)声明一个Embedding层,最大的embeddings个数是10,维数为3。Embedding.weight会从标准正态分布中初始化成大小为(num_embeddings, embedding_dim)的矩阵,input中的标号表示从矩阵对应行获取权重来表示单词。所有的input变量都小于10,若大于10,则会报错。# an Embedding module containing 10 tensors of size 3embeddi.原创 2020-10-19 21:07:23 · 2013 阅读 · 0 评论 -
TypeError: expected np.ndarray (got int)
出现此错误时将torch.from_numpy()改为torch.Tensor()即可原创 2020-09-23 21:54:06 · 32548 阅读 · 12 评论 -
TSN在pytorch1.0以上版本出现size mismatch for conv1_7x7_s2_bn.weight等错误
在pytorch1.0运行TSN时出现size mismatch错误RuntimeError: Error(s) in loading state_dict for BNInception: size mismatch for conv1_7x7_s2_bn.weight: copying a param with shape torch.Size([1, 64]) from checkpoint, the shape in current model is torch.Size([6原创 2020-09-20 15:08:29 · 2719 阅读 · 5 评论 -
pytorch torch.nn 笔记
torch.nn的核心数据结构是Module,它是一个抽象的概念,既可以表示神经网络中的某个层(layer),也可以表示一个包含很多层的神经网络。在实际使用中,最常用的做法是继承nn.Module,撰写自己的网络/层。 全连接层,又名仿射层,输出y和输入x满足y=Wx+b,W和b是可学习的参数自定义实现全连接层注意事项: 自定义Linear必须继承nn.Module,并且在其构造函数中需调用nn.Module的构造函数,即super(Linear, self).__i...原创 2020-09-14 19:59:02 · 268 阅读 · 0 评论 -
Pytorch Variable笔记
Pytorch的autograd模块中实现了计算图的相关功能,autograd中的核心数据结构是Variable。Variable封装了tensor,并记录对tensor的操作记录用来构建计算图Variable主要包含三个属性 data: 保存variable包含的tensor grad: 保存data对应的梯度,grad也是variable,而非tensor,grad与data形状一致 grad_fn: 指向一个记录Variable操作历史的Function...原创 2020-09-11 17:31:35 · 215 阅读 · 0 评论 -
HOI项目no_frills_hoi_det执行过程
下载HICO-Det数据集将从HICO-Det网站下载的数据集存储到hico_clean文件夹中这些数据文件(版本0160224)包括图像和标注(.tar.gz)HOIs列表(.txt)Verbs列表(.txt)Objects列表(.txt)对下载的tar.gz文件使用下面的命令来提取图片和标注tar xvzf <path to tar.gz file> -C <path to hico_clean directory>-C标志指定了所提取文件翻译 2020-06-21 10:12:47 · 947 阅读 · 3 评论 -
本地无法访问服务器tensorboard生成网址
在服务器上使用tensorboard命令进行可视化时发现本地端登陆localhost:6006一直显示页面无法访问开始以为是xshell没有配置好,按网上的方法配了端口被占用了,尝试了https://www.jianshu.com/p/ce4b63160130中的方法,还是无法访问后面觉得可能是端口问题,又按https://blog.youkuaiyun.com/zzq900503/article/details/11936379中的方法设置端口,但是设置好后端口列表中没有显示新加的端口。localhost:6原创 2020-05-16 22:43:06 · 971 阅读 · 0 评论 -
安装pytorch0.3.0
参考:https://zhuanlan.zhihu.com/p/39672858直接使用pip install pytorch==0.3 torchvision命令进行安装安装完torchvision版本为0.3与0.3版本的pytorch不匹配,直接安装低版本的torchvision命令pip install torchvision==0.2...原创 2019-06-11 15:39:25 · 8621 阅读 · 0 评论