J'essaie d'affiner un modèle v3 initial avec 2 catégories. Voici les étapes que j'ai suivies: 1. création de fichiers partagés à partir de données personnalisées en utilisant build_image_data.py
en changeant le nombre de classes et d'exemples en imagenet_data.py. Utilisé un fichier labelsfile.txt; 2. changé les valeurs en conséquence dans flowers_data.py et en utilisant flowers_train.py j'ai formé le modèle. ; 3. J'ai gelé le modèle et j'ai obtenu le fichier protobuf. ; 4. Mon noeud d'entrée (x) attend un lot de taille 32 et de taille 299x299x3 donc j'ai piraté mon chemin en dupliquant mon image de test 32 fois et en créant un lot d'entrée; 5. À l'aide d'entrée & noeuds de sortie, lot entrée et le script ci-dessous, je suis en mesure d'imprimer les scores des prédictionsmêmes prédictions pour toutes les entrées avec un modèle v3 de début d'écoute bien affiné
image_data = create_test_batch(args.image_name)
graph=load_graph(args.frozen_model_filename)
x = graph.get_tensor_by_name('prefix/batch_processing/Reshape:0')
y = graph.get_tensor_by_name('prefix/tower_0/logits/predictions:0')
with tf.Session(graph=graph) as sess:
y_out=sess.run(y, feed_dict={x:image_data})
print(y_out)
Je suis le résultat qui ressemble à:
[[ 0.02264258 0.16756369 0.80979371][ 0.02351799 0.16782859 0.80865341].... [ 0.02205461 0.1794569 0.7984885 ][ 0.02153662 0.16436867 0.81409472]](32)
Pour toute image entrée, j'ai obtenu le score maximum seulement dans la colonne 3, ce qui signifie que j'obtiendrais la même prédiction pour n'importe quelle entrée.
Y at-il un point qui me manque dans mon processus? Quelqu'un peut-il m'aider avec ce problème? J'utilise python 2.7 dans ubuntu 16.04 dans cloudVM