https://colab.research.google.com/drive/1EdCL6YXCAvKqpEzgX8zCqWv51Yum2PLO?usp=sharing
こんにちは、
上記では、テンソルフローを使用して歯科用 X 線で 5 つの異なるタイプの修復物を特定しようとしています。公式ドキュメントを使用して手順を実行していますが、今は行き詰まっており、助けが必要です。ここに私の質問があります:
1
-ローカル ディスクにデータがあります。上記のリンクの TF の例では、別のリポジトリからデータをダウンロードします。画像をテストしたい場合、以下のコードを使用する以外に方法はありますか?:
import numpy as np
from keras.preprocessing import image
from google.colab import files
uploaded = files.upload()
# predicting images
for fn in uploaded.keys():
path = fn
img = image.load_img(path, target_size=(180, 180))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
images = np.vstack([x])
classes = model.predict(images)
print(fn)
print(classes)
公式ドキュメントには、次のように画像を1つずつテストする方法が示されているだけなので、私はこれを求めています:
img = keras.preprocessing.image.load_img(
sunflower_path, target_size=(img_height, img_width)
)
img_array = keras.preprocessing.image.img_to_array(img)
img_array = tf.expand_dims(img_array, 0) # Create a batch
predictions = model.predict(img_array)
score = tf.nn.softmax(predictions[0])
print(
"This image most likely belongs to {} with a {:.2f} percent confidence."
.format(class_names[np.argmax(score)], 100 * np.max(score))
)
2
- 「image_dataset_from_directory」メソッドを使用しているため、別の検証ディレクトリがありません。それは大丈夫ですか ?または ImageDataGenerator を使用する必要がありますか? データをテストするために、5 つのカテゴリすべてからランダムにいくつかのデータを手動で選択し、その数のカテゴリがあるため、5 つのサブフォルダを持つテスト フォルダにそれらを配置しました。これは、テストデータを異なるフォルダーに分けて、予測のために行うべきことですか? はいの場合、テスト時にこれら 5 つのフォルダーをすべて同時にロードするにはどうすればよいですか?
3
-混同行列も作成することになっています。しかし、これを自分のコードに適用する方法がわかりませんでしたか? scikit-learn の混同行列を使用すると言う人もいますが、今回は y-true、y_pred 値を定義する必要があり、このコードには収まりません。5つの異なる予測に対して5つの異なる混同行列を評価することになっていますか?どのように?
4
-時々、検証の精度がトレーニングの精度よりもはるかに高いことに気付きます。これは異常ですか?3 ~ 4 エポックの後、トレーニングの精度は検証の精度を維持し、よりバランスの取れた方法で継続します。これはあってはならないことだと思いました。すべて問題ないですか ?
5
- 最後の質問です。最初のエポックが他のエポックよりもはるかに長い時間がかかるのはなぜですか? 私のセットアップでは、最初のエポックを完了するのに約 30 ~ 40 分かかり、その後、他のすべてのエポックを完了するのに約 1 分ほどかかります。それを修正する方法はありますか、それとも常に同じように発生しますか?
ありがとう。