我有一個tfrecords文件,將圖像存儲爲字節串。我想將此特性列定義爲tf.feature_column.numeric_column("image", shape=[64, 64], dtype=tf.float32)
,但由於它不是作爲float_list存儲在tfrecords文件中,所以不起作用。將tfrecords中的原始字節解碼爲tf.feature_column.numeric_column功能
然後我嘗試使用我定義的numeric_column的normalizer_fn參數。然而
def decode(image_bytestring):
img = tf.reshape(tf.decode_raw(image_bytestring, tf.uint8), [28, 28])
img = tf.cast(img, tf.float32)
return img
...
examples = tf.parse_example(
serialized_batch,
tf.feature_column.make_parse_example_spec(feature_columns))
的第一個問題是,通過這個feature_column產生的解析規範FixedLenFeature(shape=(28, 28), dtype=tf.float32, default_value=None)
說,當它實際上是作爲導致錯誤的字符串存儲解析的FLOAT32。所以不使用解碼功能。
當使用tf.feature_column而不是將圖像存儲爲tfrecord中的float_list時,是否有解決此問題的方法?
似乎有一個靜態類型系統本來很好,以保證映射函數的正確類型的功能。