tutorial perro modelo imagenes espaƱol entrenar ejemplos curso clasificar clasificador basicos python neural-network tensorflow conv-neural-network

python - perro - Obtener pesos del modelo tensorflow



tensorflow python (1)

Este modelo VGG-16 tf.constant() codifica todos los parámetros del modelo como tf.constant() ops. (Consulte, por ejemplo, las llamadas a tf.constant() aquí .) Como resultado, los parámetros del modelo no aparecerían en tf.trainable_variables() , y el modelo no se puede modificar sin una cirugía importante: tendría que reemplazar el nodos constantes con tf.Variable objetos que comienzan con el mismo valor para continuar el entrenamiento.

En general, cuando se importa un gráfico para reentrenamiento, se debe utilizar la función tf.train.import_meta_graph() , ya que esta función carga metadatos adicionales (incluidas las colecciones de variables). La función tf.import_graph_def() es de nivel inferior y no rellena estas colecciones.

Hola, me gustaría ajustar el modelo VGG de tensorflow. Tengo dos preguntas.

¿Cómo obtener los pesos de la red? The trainable_variables devuelve lista vacía para mí.

Utilicé el modelo existente desde aquí: https://github.com/ry/tensorflow-vgg16 . Encuentro la publicación sobre cómo obtener pesos, sin embargo, esto no funciona para mí debido a import_graph_def. Obtenga el valor de algunos pesos en un modelo entrenado por TensorFlow

import tensorflow as tf import PIL.Image import numpy as np with open("../vgg16.tfmodel", mode=''rb'') as f: fileContent = f.read() graph_def = tf.GraphDef() graph_def.ParseFromString(fileContent) images = tf.placeholder("float", [None, 224, 224, 3]) tf.import_graph_def(graph_def, input_map={ "images": images }) print("graph loaded from disk") graph = tf.get_default_graph() cat = np.asarray(PIL.Image.open(''../cat224.jpg'')) print(cat.shape) init = tf.initialize_all_variables() with tf.Session(graph=graph) as sess: print(tf.trainable_variables() ) sess.run(init)