2017-09-06 2 views
1

Je suis sur le point de faire un service de flux tensoriel.tesorflow servant de fichier variable

Le fichier pb et le dossier variable sont créés. mais aucun fichier n'a été créé dans le dossier de variable.

comme celui-ci

└── variables 
     ├── variables.data-00000-of-00001 
     └── variables.index 

Après une expérimentation plus loin, je trouve que le fichier se produit uniquement lorsque la sortie est sortie tf.Variable.

par exemple

1) z = tf.Variable (3, DTYPE = tf.float32)

2) z = tf.constant (3, DTYPE = tf.float32)

1) est fichier créé mais 2) ne soit pas fichier créé

z est la variable de sortie

signature_def_map= { 
       "serving_default": tf.saved_model.signature_def_utils.predict_signature_def( 
        inputs= {"egg": x, "bacon":y}, 
        outputs= {"spam": z}) 
      }) 

Est-ce exact que j'ai découvert?

L'explication ci-dessus est un résultat de test en tant qu'exemple simple.

C'est ce que je veux vraiment faire

sIdSorted = tf.gather(sId, indices[::-1])[0:5] 
sess=tf.Session() 
print sess.run(sIdSorted,feed_dict={userLat:37.12,userLon:127.2}) 

En raison de l'impression, il était sortie comme suit. [ 's7' '' 's1 s2' '' 's3 s4']

Cependant, de cette façon, rien ne s'affiche dans le dossier variables .....

J'essayé de sortie tf.variable.

sIdSorted = tf.Variable(tf.gather(sId, indices[::-1])[0:5]) 

mais cela affichera une erreur à ce qui suit.

initial_value must have a shape specified: Tensor("strided_slice_1:0", dtype=string) 

donc je l'ai essayé comme suit.

sIdSorted = tf.Variable(tf.constant(tf.gather(sId, indices[::-1])[0:5],shape=[5])) 

mais cela affichera une erreur à ce qui suit.

List of Tensors when single Tensor expected 

J'ai besoin de votre aide. Merci pour la lecture.

** Version tensorflow: 1.3.0 python 2.x

Répondre

0

C'est exact: seulement tf.Variable résultat s dans des fichiers exportés variables. Ces fichiers contiennent les valeurs réelles des variables. La structure graphique elle-même est stockée dans le saved_model.pb. C'est là que se rassemblent (et toutes les autres opérations). Vous devriez être capable de servir le modèle.