在pytorch中使用类似tf.placeholder的方法,能够在不需要管数据预处理的情况下快速得到模型整个pipeline中每一步的输入输出维度与数据类型。
x = Variable(torch.randn(shape).type(dtype), requires_grad=False) #Pytorch
测量模型参数的代码段
if __name__ == '__main__':
x1 = torch.rand(2, 3, 128, 128)
print(x1.shape)
model = Net()
a= model(x1)
print(a.shape)
from thop.profile import profile
name = "our"
total_ops, total_params = profile(model, (x1,))
print("%s | %.4f(M) | %.4f(G) |" % (name, total_params / (1000 ** 2), total_ops / (1000 ** 3)))
第一个参数是计算量,第二个参数是参数的个数
该博客介绍了如何在PyTorch中使用`Variable`来模拟TensorFlow的`placeholder`,实现不依赖具体数据预处理就能获取模型各步骤的输入输出维度和数据类型。通过示例展示了如何定义变量,以及通过`torch.nn.Module`实例化模型并打印其输出形状。此外,还利用`thop.profile`库计算模型的FLOPs和参数数量,以便进行模型效率评估。
2546

被折叠的 条评论
为什么被折叠?



