【问题标题】:Tensorflow: Splitting layer output into more smaller netoworksTensorflow:将层输出拆分为更小的网络
【发布时间】:2020-11-11 10:18:11
【问题描述】:

我目前正在使用带有 tensorflow.keras 的神经网络开发图像解谜器和分类器。网络从几个卷积开始,然后将连接到几个密集层。最终,我希望将密集层的输出拆分为更小的密集网络,如图所示。我不确定如何将最后一个密集层拆分为这些较小的网络,因为我对机器学习还很陌生。很高兴知道是否有人有任何想法或建议。

【问题讨论】:

    标签: python tensorflow keras conv-neural-network


    【解决方案1】:

    您可以使用tf.split,它完全满足您的需求。示例:

    big_output = Dense(units=100)(input) # shape: [nbatch, 100]
    split_tensor = tf.split(big_output, num_or_size_splits=2, axis=-1) # shape: [[nbatch, 50], [nbatch, 50]]
    small_output_1 = Dense(units=10)(split_tensor[0]) # shape: [nbatch, 10]
    small_output_2 = Dense(units=10)(split_tensor[1]) # shape: [nbatch, 10]
    

    【讨论】:

    • 太棒了!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2017-03-08
    • 1970-01-01
    • 2018-11-05
    • 2019-07-14
    • 1970-01-01
    • 2019-09-16
    相关资源
    最近更新 更多