如何解决如何管理CNN的不同类型和形状的额外输入
我正在训练CNN来检测我的输入数据上的某些模式,如果找到了模式,则返回1。 输入均为形状(200,),标签为(1,)。我的资料有限,所以我需要找到方法来协助训练。
当输入最初来自较早的时间时,图案和峰往往更圆。当它们最初来自较晚的时间时,它们往往会变得嘈杂而尖刻。
我认为,如果我将所有数据根据它们来自的时间(从取整器到加长脉冲器,可能是0到2)分成3个bin,我可以提供它,这可以帮助CNN更好地理解模式,但是我我不确定如何提供这些信息。
到目前为止,这是我的代码:
model_m5 = Sequential()
model_m5.add(Reshape((200,1),input_shape=(200,)))
model_m5.add(Conv1D(60,4,activation='relu',1)))
model_m5.add(Conv1D(60,activation='relu'))
model_m5.add(MaxPooling1D(pool_size=5))
model_m5.add(Conv1D(80,10,activation='relu'))
model_m5.add(Conv1D(80,activation='relu'))
model_m5.add(GlobalAveragePooling1D())
model_m5.add(Dropout(0.5))
model_m5.add(Dense(1,activation='sigmoid'))
print(model_m5.summary())
解决方法
TensorFlow的 WideDeepModel 满足了我的要求。
一旦有了深层模型(from django.contrib import admin
class CommentInlineAdmin(admin.TabularInline):
model = Comment
class UploadedAdmin(admin.ModelAdmin):
inlines = [CommentInlineAdmin]
admin.register(Uploaded,UploadedAdmin)
),就可以轻松包含线性分量(linear_model
);这样,您可以在组合模型中一起训练它们:
dnn_model
文档和示例可在此处找到: https://www.tensorflow.org/api_docs/python/tf/keras/experimental/WideDeepModel#example_5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。