2016-06-16 1 views

答えて

0

多次元配列は、行の大きな順に平坦化する必要があります。これはnumpyのデフォルトにする必要があります。ここで

は出力を生成し、この

from tensorflow.core.example import example_pb2 
from google.protobuf import json_format 
import tensorflow as tf 
import numpy as np 

# Create a 2-d matrix 
m = np.arange(4).reshape([2,2]) 
print "row 1: {0}".format(m[0,:]) 
print "row 2: {0}".format(m[1,:]) 

# Construct the Example proto 
e = example_pb2.Example() 
e.features.feature['data'].int64_list.value.extend(m.flatten()) 

print "Json format" 
print json_format.MessageToJson(e) 

p = tf.parse_single_example(e.SerializeToString(), {'data': tf.FixedLenFeature([2,2], dtype=tf.int64)}) 
sess = tf.Session() 
sess.run(tf.initialize_all_variables()) 

w = sess.run(p) 

print "Parsed data" 
print "row 1: {0}".format(w["data"][0,:]) 
print "row 2: {0}".format(w["data"][1,:]) 

を説明するための例です

row 1: [0 1] 
row 2: [2 3] 
Json format 
{ 
    "features": { 
    "feature": { 
     "data": { 
     "int64List": { 
      "value": [ 
      "0", 
      "1", 
      "2", 
      "3" 
      ] 
     } 
     } 
    } 
    } 
} 
Parsed data 
row 1: [0 1] 
row 2: [2 3] 
関連する問題