0
イメージの作成と保存の最後にwhileループを実行しようとしています。残念ながら、各ループは、新しい画像ファイルを作成する代わりに、以前に保存した画像ファイルを更新します。したがって、5回実行されるwhileループの最後では(5つの別々のイメージを作成する必要があります)、5回実行されるwhileループで終了しますが、5回更新するイメージは1つだけ作成されます。私は今、数時間のために、この上で立ち往生されていますので、任意の提案が高く評価されているio.imsave()は複数のイメージファイルを作成しません
i = 5
while i > 0:
layer_name = 'pool'+str(i)
# Number of output classes of model being used
nb_classes = 1000
cam3 = grad_cam(x, vgg, sess, predicted_class, layer_name, nb_classes)
img = img.astype(float)
img /= img.max()
# Superimposing the visualization with the image.
new_img = img+3*cam3
new_img /= new_img.max()
# Display and save
#io.imshow(new_img)
#plt.show()
io.imsave(FLAGS.output, new_img)
i = i-1
print (i)
: はここに私の関連するコードのブロックです。ありがとう
はい、私は:io.imsave(FLAGS.output、new_img)をio.imsave(file_name(i)、new_img)に変更すると、エラーメッセージが表示されますfile_nameは定義されていません。重要なことは、すべての反復で新しいファイルを作成するようではなく、既存のFLAGS.outputパスに保存するだけです。 – Veejay
ドキュメントでは、fnameの型がstrなので、 '' my_filename "+ i' – strippenzieher