繁体   English   中英

将 Convnet.js 神经网络模型转换为 Keras Tensorflow

[英]Convert Convnet.js neural network model to Keras Tensorflow

我有一个在 convnet.js 中创建的神经网络模型,我必须使用 Keras 定义它。 有谁知道我该怎么做?

neural = {
          net : new convnetjs.Net(),
          layer_defs : [
            {type:'input', out_sx:4, out_sy:4, out_depth:1},
            {type:'fc', num_neurons:25, activation:"regression"},
            {type:'regression', num_neurons:5}
          ],
          neuralDepth: 1
      }

这是我目前能做的。 我不能确定它是否正确。

   #---Build Model-----
    model = models.Sequential()
    # Input - Layer 
    model.add(layers.Dense(4, activation = "relu", input_shape=(4,)))  
    # Hidden - Layers 
    model.add(layers.Dense(25, activation = "relu")) 
    model.add(layers.Dense(5, activation = "relu"))
    # Output- Layer
    model.add(layers.Dense(1, activation = "linear")) 
    model.summary()
    # Compile Model
    model.compile(loss= "mean_squared_error" , optimizer="adam", metrics=["mean_squared_error"])

来自 Convnet.js 文档:“你的最后一层必须是一个损失层('softmax' 或 'svm' 用于分类,或 'regression' 用于回归)。” 另外:“创建一个回归层,它采用目标列表(任意数字,不一定是 softmax/svm 中的单个离散类标签)并反向传播 L2 损失。”

不清楚。 我怀疑“回归”层只是另一层密集(全连接)神经元。 “回归”一词可能指的是线性活动。 那么,这次没有'relu'吗?

无论如何,它可能看起来像(无顺序模式):

from keras.layers import Dense
from keras.models import Model
my_input = Input(shape = (4, ))
x = Dense(25, activation='relu')(x)
x = Dense(4)(x)
my_model = Model(input=my_input, output=x, loss='mse', metrics='mse')
my_model.compile(optimizer=Adam(LEARNING_RATE), loss='binary_crossentropy', metrics=['mse'])

阅读了一些文档后,convnet.js 似乎是一个不错的项目。 有神经网络知识的人会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM