我正在尝试通过子图绘制多个图形。代码“有效”,但是它总是给我一个索引错误,我一生都无法发现。
作为附带的问题,我想知道是否有人知道如何使每个单独的图块保持相同的大小。例如,如果我添加更多的行或列,则每个图都会变小。谢谢。
count = 0
n_rows = 2
n_columns = 2
f, axarr = plt.subplots(n_rows, n_columns)
plt.figure(figsize=(20,20))
for column in range(n_cols):
for row in range(n_rows):
axarr[row, column].imshow(generate_pattern('block3_conv1', count, size=150))
count += 1
错误
IndexError Traceback (most recent call last)
<ipython-input-37-7f7ae19e07e9> in <module>()
7 for column in range(n_cols):
8 for row in range(n_rows):
----> 9 axarr[row, column].imshow(generate_pattern('block3_conv1', count, size=150))
10
11 count += 1
IndexError: index 2 is out of bounds for axis 1 with size 2
使用的功能代码
def generate_pattern(layer_name, filter_index, size=150):
# Build a loss function that maximizes the activation
# of the nth filter of the layer considered.
layer_output = model.get_layer(layer_name).output
loss = K.mean(layer_output[:, :, :, filter_index])
# Compute the gradient of the input picture wrt this loss
grads = K.gradients(loss, model.input)[0]
# Normalization trick: we normalize the gradient
grads /= (K.sqrt(K.mean(K.square(grads))) + 1e-5)
# This function returns the loss and grads given the input picture
iterate = K.function([model.input], [loss, grads])
# We start from a gray image with some noise
input_img_data = np.random.random((1, size, size, 3)) * 20 + 128.
# Run gradient ascent for 40 steps
step = 1.
for i in range(40):
loss_value, grads_value = iterate([input_img_data])
input_img_data += grads_value * step
img = input_img_data[0]
return deprocess_image(img)
def deprocess_image(x):
x -= x.mean()
x /= (x.std() + 1e-5)
x *= 0.1
x += 0.5
x = np.clip(x,0,1)
x *= 255
x = np.clip(x,0,255).astype('uint8')
return x
答案 0 :(得分:1)
此错误是由于尝试用超出索引范围的值索引entity Fournisseur {
nom String required,
adresse String required,
numCompte String required,
numTel String required
}
entity Cat {
nom String required,
}
entity Article {
nom String required,
designation String required,
tva Float required,
prixUnitaireHT Float required,
prixTTC Float required,
cat Cat required
}
entity Stock {
quantite Integer required
article Article required
}
entity Clientt {
nom String required,
adresse String required,
numCompte String required,
numTel String required,
numCin String required,
}
entity Commande {
date LocalDate required,
clientt Clientt required
}
entity LigneCommande {
quantite Integer required,
commande Commande required,
article Article required
}
entity LigneArticle {
qte Integer required,
fournisseur Fournisseur required
}
entity Facture {
date Instant required,
totalFinale Float required,
modeReglement Float required,
dateReglement Instant required,
commande Commande required
}
生成的数组而导致的。一种显示这种情况的方法是用仅数字替换循环中的变量。在这种情况下,您会看到plt.subplots()
会产生以下错误:
axarr[1,2]
我们知道在---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-39-31f90736bd1d> in <module>()
2 #plt.figure(figsize=(20,20))
3
----> 4 a[0,2]
IndexError: index 2 is out of bounds for axis 1 with size 2
函数中不会发生错误,因为错误消息会显示出很多错误。