我怎样才能擦除张量层?
示例:
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无法加载网络。
编辑:我想在加载训练模型的权重后删除图层。
答案 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')