贝叶斯神经网络-带有DenseFlipout层,我无法使用函数式API

问题描述 投票:0回答:1

为了自定义我的神经网络,我想使用函数式 API。但

DenseFlipout
层不适用于典型的输入层
tf.keras.Input(unit number)
。错误消息表明它不是张量而是元组,因此它没有“等级”并且无法进入
DenseFilpout
层。但是如何制作没有输入层的神经网络呢?我不知道如何解决。谢谢你帮助我。这对我来说意义重大!!

这是 sinppet、输出和错误消息。

inputs = tf.keras.Input(shape=(input_dim,))
print(f'Input tensor: {inputs}')
x = tfp.layers.DenseFlipout(16, activation='relu')(inputs)
print(f'After first DenseFlipout: {x}')
x = tfp.layers.DenseFlipout(8, activation='relu')(x)
print(f'After second DenseFlipout: {x}')
outputs = tfp.layers.DenseFlipout(1, activation='sigmoid')(x)
print(f'Output tensor: {outputs}')

model = tf.keras.Model(inputs=inputs, outputs=outputs)

输出

输入张量: -

错误

AttributeError:“tuple”对象没有属性“rank”`

我想知道如何使用具有

DenseFilpout
层的函数式 API。

tensorflow bayesian-networks tensorflow-probability functional-api bayesian-deep-learning
1个回答
-1
投票

你解决了吗?我也遇到同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.