给定一个整数数组,每个元素代表一栋建筑物。例如:int buildings[] = {1, 4, 3, 2, 3, 1}。
如果我用刷子水平绘制建筑物,我将使用多少次刷子打击?
我应该编写一个函数来返回这些笔触的数量。例如5。
O(n^2)通过使用2个循环,我可以在运行时轻松地做到这一点。
在每个建筑物(根据最高建筑物)的层上运行的外部循环。
内部循环从0到在数组上运行n,并比较两个邻近元素之间的高度差(0或1)。
我该如何在O(n)时间和O(n)空间上做到这一点?
我的模型是在数字图像 ( MNIST dataset)上训练的。我正在尝试打印网络第二层的输出 - 一个 128 个数字的数组。
我没有设法在我自己的网络上做到这一点。两种解决方案都不适用于我自己的算法。
Colab 链接:https ://colab.research.google.com/drive/1MLbpWJmq8JZB4_zKongaHP2o3M1FpvAv ? fbclid = IwAR20xRz2i6sFS-Nm6Xwfk5hztdXOuxY4tZaDRXxAx3b986TgA
我收到了很多不同的错误消息。我试图处理它们中的每一个,但无法自己解决。
我错过了什么?如何输出第二层?
如果我的 Shape 是(28,28)- 的类型和值应该是什么input_shape?
失败的试验和错误,例如:
(1)
for layer in model.layers:
get_2nd_layer_output = K.function([model.layers[0].input],[model.layers[2].output])
layer_output = get_2nd_layer_output(layer)[0]
print('\nlayer output: get_2nd_layer_output=, layer=', layer, '\nlayer output: get_2nd_layer_output=', get_2nd_layer_output)
Run Code Online (Sandbox Code Playgroud)
类型错误:输入应该是列表或元组。
(2)
input_shape=(28, 28)
inp = model.input # input placeholder
outputs = [layer.output for layer in model.layers] # all layer outputs
functor = K.function([inp, …Run Code Online (Sandbox Code Playgroud)