擦除张量流层

时间:2017-09-30 03:48:41

标签: c++ opencv tensorflow neural-network deep-learning

我怎样才能擦除张量层?

示例:

net = tf.reshape(input, [-1, 128*128])
net = tf.layers.dense(inputs = net, units = 16384, activation = tf.nn.relu)
net = tf.layers.dropout(net, training = is_training, name ="erase_later")    
net = tf.layers.dense(inputs = net, units = 8, name = 'regression_output')

我想在加载后擦除“erase_later”图层,我怎么能这样做? 有什么像擦除或弹出功能吗?

net.erase("erase_later")

为什么我要将其删除?因为如果存在密集层,opencv dnn无法加载网络。

编辑:我想在加载训练模型的权重后删除图层。

1 个答案:

答案 0 :(得分:3)

我猜你在加载训练模型的权重之前正在构建图形。

在这种情况下,您实际上可以删除" erase_later"层只是避免声明它。

例如,假设is_training是一个布尔变量,您可以这样做:

net = tf.reshape(input, [-1, 128*128])
net = tf.layers.dense(inputs = net, units = 16384, activation = tf.nn.relu)
if is_training:
    net = tf.layers.dropout(net, training = is_training, name ="erase_later")    
net = tf.layers.dense(inputs = net, units = 8, name = 'regression_output')