【发布时间】:2020-09-26 15:17:31
【问题描述】:
所以我想在启动新对象时传递一些新变量,例如 kernel_size。假设net=Net10(5,2,4,3,1,1)。这样我就得到了这个类的一个对象,它的参数我不希望总是恒定的,因为否则我将不得不定义很多类。现在,我想在self.Conv2d 中传递kernel_size,我得到一个语法错误:positional argument follows keyword argument
有谁知道如何解决这一问题?我应该将其全部更改为函数而不是类吗?
class Net10(nn.Module):
def __init__ (self, kernel_size, stride, pooling, num_classes, neurons, ActFunn, *args):
super(Net10, self).__init__()
self.kernel = kernel_size
self.stride = stride
self.pooling = pooling
self.num_classes = num_classes
self.neurons = neurons
self.Actfun = ActFunn
self.conv1 = nn.Conv2d(in_channels=1, out_channels=32, kernel, padding=2, stride=1)
self.pool = nn.MaxPool2d(pooling, pooling)
self.fcinput= round (28 / pooling)
【问题讨论】:
标签: image-processing computer-vision pytorch conv-neural-network