如何解决Pytorch相当于TensorFlow
我正在尝试在Pytorch中跟踪此代码。我已经尝试了好几天了,但是阅读张量流文档之后,PyTorch文档让我完全困惑了。
input_data = Input(shape=(256,64,1),name=‘input’)
inner = Conv2D(32,(3,3),padding=‘same’,name=‘conv1’,kernel_initializer=‘he_normal’)(input_data)
inner = BatchNormalization()(inner)
inner = Activation(‘relu’)(inner)
inner = MaxPooling2D(pool_size=(2,2),name=‘max1’)(inner)
inner = Conv2D(64,name=‘conv2’,kernel_initializer=‘he_normal’)(inner)
inner = BatchNormalization()(inner)
inner = Activation(‘relu’)(inner)
inner = MaxPooling2D(pool_size=(2,name=‘max2’)(inner)
inner = Dropout(0.3)(inner)
inner = Conv2D(128,name=‘conv3’,kernel_initializer=‘he_normal’)(inner)
inner = BatchNormalization()(inner)
inner = Activation(‘relu’)(inner)
inner = MaxPooling2D(pool_size=(1,name=‘max3’)(inner)
inner = Dropout(0.3)(inner)
CNN to RNN
inner = Reshape(target_shape=((64,1024)),name=‘reshape’)(inner)
inner = Dense(64,activation=‘relu’,kernel_initializer=‘he_normal’,name=‘dense1’)(inner)
RNN
inner = Bidirectional(LSTM(256,return_sequences=True),name = ‘lstm1’)(inner)
inner = Bidirectional(LSTM(256,name = ‘lstm2’)(inner)
OUTPUT
inner = Dense(num_of_characters,name=‘dense2’)(inner)
y_pred = Activation(‘softmax’,name=‘softmax’)(inner)
model = Model(inputs=input_data,outputs=y_pred)
我尝试在Pytorch中逐步进行跟踪
class Net(nn.Module):
def init(self):
super(Net,self).init()
self.input_data = input_size
self.conv1 = nn.Conv2d(32,3,3)
self.conv2 = nn.Conv2d(64,3)
self.conv3 = nn.Conv2d(128,3)
self.dropout = nn.Dropout(0.3)
self.maxp = torch.nn.MaxPool2d((2,2))
#CNN to RNN
self.linear1 = nn.Linear(256*62*62,64)
#RNN
self.lstm = torch.nn.LSTM(256,10,bidirectional = True)
#output
self.linear2 = nn.Linear(64,num_of_chars)
def forward(self,x,input_size):
x = self.conv1(input_size)
x = nn.BatchNorm2d(x)
x = F.relu(x)
x = self.maxp(x)
x = self.conv2(x)
x = nn.BatchNorm2d(x)
x = F.relu(x)
x = self.maxp(x)
x = self.dropout(x)
x = self.conv3(x)
x = nn.BatchNorm2d(x)
x = F.relu(x)
x = self.maxp(x)
x = self.dropout(x)
x = x.view((64,1024))
x = self.linear1(x)
x = self.lstm(x)
x = self.lstm(x)
x = self.linear2(x)
x = nn.Softmax(x,dim=1)
return x
但是模型摘要完全不同。我对参数非常困惑。任何帮助,将不胜感激。告诉我您是否需要什么。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。