2017-03-26 4 views
1

Ich versuche, die pool_3 Schicht Ausgabe des Tensorflow Einführung v3 zu bekommen. Meine Eingabe ist ndarray der Form (64,64,3), aber ich bekomme folgende FehlerFehler in Tensorflow Inception V3-Geting, während pool_3 Schicht Ausgabe

with tf.Session() as sess: 
    pool_3_tensor = sess.graph.get_tensor_by_name('pool_3:0') 

    feat1 = sess.run(pool_3_tensor,{'DecodeJpeg/contents:0': image}) 
    feat1 = np.squeeze(feat1) 

ValueError        Traceback (most recent call last) 
<ipython-input-26-fb1865f7fbee> in <module>() 
     3  pool_3_tensor = sess.graph.get_tensor_by_name('pool_3:0') 
     4 
----> 5  feat1 = sess.run(pool_3_tensor,{'DecodeJpeg/contents:0': image}) 
     6  feat1 = np.squeeze(feat1) 

/N/u/mbirla/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata) 
    765  try: 
    766  result = self._run(None, fetches, feed_dict, options_ptr, 
--> 767       run_metadata_ptr) 
    768  if run_metadata: 
    769   proto_data = 
    tf_session.TF_GetBuffer(run_metadata_ptr) 

/N/u/mbirla/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata) 
    942     'Cannot feed value of shape %r for Tensor %r, ' 
    943     'which has shape %r' 
--> 944     % (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape()))) 
    945   if not self.graph.is_feedable(subfeed_t): 
    946    raise ValueError('Tensor %s may not be fed.' % subfeed_t) 

ValueError: Cannot feed value of shape (64, 64, 3) for Tensor 'DecodeJpeg/contents:0', which has shape '() 

------- ---------- Aktualisierung

Nach Umwandlung in Zeichenfolge. Ich erhalte ungültige JPEG-Daten, Größe 12288. Ausführliche Fehler: https://gist.github.com/mridulbirla/0d710d7ccd7b22c8f87989c37837e10e

Antwort

0

Änderung

feat1 = sess.run(pool_3_tensor,{'DecodeJpeg/contents:0': image}) 

in

feat1 = sess.run(pool_3_tensor,{'DecodeJpeg/contents:0': image.tostring()}) 

und ein

'DecodeJpeg/contents:0' versuchen haben, ist ein Skalar String Tensor aus dem Sie einen dreifachen Bild-Tensor

decodieren können

Als ich Transfer war mit Beginn-v3 Lernen, ich nicht Bild in np.array Typ gelesen haben, lesen Sie stattdessen den Bildinhalt in einen String mit

with tf.gfile.FastGFile("you_image_file_name") as f: 
    content = f.read() 

dann die content-'DecodeJpeg/contents:0' füttern

+0

Wenn ich es in Zeichenfolge konvertieren, bekomme ich InvalidArgument Error. Detaillierter Stacktrace [Fehlerlink] (https://gist.github.com/mridulbirla/0d710d7ccd7b22c8f87989c37837e10e) –

Verwandte Themen