日々精進

新しく学んだことを書き留めていきます

ログに「Created TensorFlow device・・・」が大量に出て実行に時間がかかる問題

以下のログが大量に出る問題。

2019-02-27 10:46:30.637017: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10758 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7)
2019-02-27 10:46:30.885004: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0
2019-02-27 10:46:30.885058: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-02-27 10:46:30.885074: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988]      0 
2019-02-27 10:46:30.885081: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0:   N 

原因は以下のコードだった。

        padded_image: Tensor = tf.image.resize_image_with_crop_or_pad(
            resized_image, dst_height, dst_width)
        result_image: np.ndarray = tf.Session().run(padded_image)

・tf.image.resize_image_with_crop_or_padが使いたかった
・その後もcv2.cvtColorを使って色を変えたりしたかったのでTensorをndarrayに変換したかった
・tf.Session().runを使ってndarrayに変換していたが、tf.Session().runはSessionを作成・破棄するので非常に高コストだった

前処理は全部ndarrayでやるか、Tensorでやるか統一しないといけないんだね。。