2016-05-26 10 views
0

あまりにも長く続くと、それは第二print time.time()を印刷するのに約5分かかることに奇妙です。私はtf.decode_csv()は、演算をせずに単にグラフに演算を追加すると考えました。tf.decode_csvは、私がTensorFlowのv0.8を使用しています

なぜtf.decode_csv()に電話するのは時間がかかりますか?あなたは非常に多くの列を使用しているためtf.decode_csv(line, record_defaults=default)

def main(argv=None): 
    # deal with arguments 
    with tf.device("/cpu:0"): 
    filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once(train_set_filename + "*")) 

    reader = tf.TextLineReader() 
    _, line = reader.read(filename_queue) 

    default = [[-1.0] for x in range(image_size * image_size * channels + 1)] 
    print time.time() 
    line = tf.decode_csv(line, record_defaults=default) 
    print time.time() 
    label = line[0] 
    feature = tf.pack(list(line[1:])) 

    ... 

答えて

1

は、多くの時間を要します。
私はあなたのimage_sizeを知りませんが、それが200の場合は、あなたのcsvには120,001の巨大な列を設定しようとしています。あなたは正しいです、TensorFlowは計算をしていませんが、グラフを適切に作成しなければならず、その多くの列では時間がかかります!

画像には、のcsv形式を使用しないことを強くお勧めします。代わりに、画像をJPEG形式で保存し、tf.image.decode_jpeg()を使用する必要があります。

+0

はい、私のimage_sizeは224です。提案をいただきありがとうございます。私は明日お試しになります。 – balto

関連する問題