pytorch----维度不匹配

报错:

Expected 4-dimensional input for 4-dimensional weight 64 3 11 11, but got 3-dimensional input of size [3, 224, 224] instead

解决办法

np.array:

img = np.expand_dims(img,0)

tensor:

torch.unsqueeze(input, dim=0).float()

example 

 
补充:

转自 https://blog.csdn.net/zhonglongshen/article/details/103478814

from torchvision import models, transforms

 VGG = models.vgg16(pretrained=True)
 feature = torch.nn.Sequential(*list(VGG.children())[:])
 print(feature)
 print('=============')
 print(VGG._modules.keys())# 查看包含哪两部分
 exit()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 PointNet 或 PointNet++ 在 PyTorch 中训练自己的数据集,你需要按照以下步骤进行操作: 1. 准备数据集: - 将你的点云数据集准备成与 PointNet/PointNet++ 要求的格式相同。通常,数据集应该是一个Numpy数组,形状为 (N, C) 或 (N, D, C),其中 N 是点的数量,C 是每个点的特征向量的维度,D 是点的维度(例如,对于三维点云,D = 3)。 - 根据数据集创建一个自定义的 PyTorch Dataset 类,用于加载和处理数据。 2. 定义模型: - 在 `models` 目录中,你可以找到 PointNet 和 PointNet++ 的模型定义文件。根据你的任务需求,在这些模型的基础上进行修改或创建一个新的模型文件。 - 在模型文件中,确保输入数据和标签的维度匹配,并定义正确的网络结构。 3. 设置训练参数: - 在 `train.py` 文件中,你可以设置训练过程的参数,如学习率、批大小、训练时长等。 - 根据你的需求修改其他训练参数,如优化器类型、损失函数等。 4. 加载数据集和模型: - 在 `train.py` 文件中,使用自定义的 Dataset 类加载你的数据集。 - 导入你定义的模型,并根据需要初始化权重或加载预训练的模型权重。 5. 训练模型: - 在 `train.py` 文件中,使用训练数据和模型进行训练。 - 在每个训练迭代中,计算损失函数并执行反向传播。 - 根据需要进行模型保存和日志记录。 6. 评估模型: - 在 `test.py` 文件中,使用测试数据集对训练好的模型进行评估。 - 计算模型在测试集上的准确率、精度、召回率等指标。 请注意,以上步骤是一个基本的指导,具体实现可能会根据你的数据集和任务的特定要求有所不同。在使用 PointNet_Pointnet2_pytorch-master 进行训练之前,建议先了解代码结构和相关文档,以便更好地适应你的数据集和任务。 希望这些步骤对你有所帮助!如果你有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值