【发布时间】:2019-12-05 18:39:46
【问题描述】:
我有一个模型,例如
model = keras.Sequential([
keras.layers.Reshape(target_shape=(10,10,1),input_shape=(100,)),
keras.layers.Convolution2DTranspose(1, 3, activation='relu')
])
训练完成后,我只想计算输出的一个子集,例如
out = model(x)[:,3,5]
有没有办法有效地做到这一点,这样我就不会计算所有的输出?理想情况下,我想定义一个采用 x 并且输出索引只计算它们的新模型,例如
out = new_model(x,out_indices)
【问题讨论】:
-
使用这个模型,你得到一个 [None,12,12,1] 张量。您要对哪些维度进行索引?
-
输出将是 [batch_size, h,w,depth]。我将创建一个列表 out_indices [(3,5,4), (2,4,8),...]。我希望模型只运行这些输出索引所需的计算。有什么方法可以跟踪这些输出并使模型进行稀疏计算?
标签: tensorflow keras sparse-matrix