Tensorflowの仕様についての質問です。  
※バージョンはtensorflow-gpu 2.2.0を使用、実験的に軽量なCNNモデルを使用

推論時の入力画像のサイズに制限はあるのでしょうか？  
可能であれば以下のことも知りたいです。

  * 理論上、最大の入力サイズ
  * 最大のサイズが存在する場合の計算方法
  * tfliteのモデルの軽量化による対処は可能か

もし御存知の方がいましたらご教示お願いします。

例：CNNベースのモデルで、(12000,12000,3)の画像で推論すると以下のようなエラーが発生します。

```

    F tensorflow/stream_executor/cuda/cuda_dnn.cc:86] Check failed: narrow == wide (-1990967296 vs. 2304000000)checked narrowing failed; values not equal post-conversion
    Aborted (core dumped)
    
```

コードは以下の通りです。

```

    import os
    import numpy as np
    from PIL import Image
    Image.MAX_IMAGE_PIXELS = None
    from PIL import ImageFile
    ImageFile.LOAD_TRUNCATED_IMAGES = True
    from tensorflow.keras.layers import *
    from tensorflow.keras.models import Model
    
    def MyModel(input_shape, n_labels):
        kernel = 3
        inputs = Input(shape=input_shape)
        x = Conv2D(16, (kernel, kernel), padding="same")(inputs)
        x = Conv2D(n_labels, (1, 1), padding="valid")(x)
        x = Reshape((input_shape[0], input_shape[1], n_labels,))(x)
        return Model(inputs=inputs, outputs=x)
    
    #画像準備
    image = Image.open('./XXXXX.tif')
    img = image.resize((12000, 12000))
    input_img = np.array(img, np.uint8)
    input_img = input_img.reshape(1, input_img.shape[0], input_img.shape[0], 3)
    #モデル生成(学習なし)
    model = MyModel(input_shape=(img.size[0],img.size[0], 3), n_labels=12)
    #推論(画像1枚に対して)
    out = model(input_img)
    print(out)
    
```
CC BY-SA 4.0
2022-09-22T02:56:38.237
91226
2022-09-22T03:07:11.900
2022-09-22T03:07:11.900
3060
54474
question
python tensorflow
Tensorflow で入力画像のサイズに制限はあるのか知りたい