什么是"相同"和"有效"填充之间的区别tf.nn.max_pool的tensorflow?
在我看来,'VALID'意味着当我们做最大池时,边缘外没有零填充.
根据深度学习的卷积算法指南,它表示池操作符中没有填充,即只使用'VALID' tensorflow.但是什么是最大池的"相同"填充tensorflow?
我正在尝试使用TensorRT部署经过培训的U-Net。使用Keras(以Tensorflow作为后端)对模型进行了训练。代码与这一代码非常相似:https : //github.com/zhixuhao/unet/blob/master/model.py
当我将模型转换为UFF格式时,使用如下代码:
import uff
import os
uff_fname = os.path.join("./models/", "model_" + idx + ".uff")
uff_model = uff.from_tensorflow_frozen_model(
frozen_file = os.path.join('./models', trt_fname), output_nodes = output_names,
output_filename = uff_fname
)
Run Code Online (Sandbox Code Playgroud)
我将收到以下警告:
Warning: No conversion function registered for layer: ResizeNearestNeighbor yet.
Converting up_sampling2d_32_12/ResizeNearestNeighbor as custom op: ResizeNearestNeighbor
Warning: No conversion function registered for layer: DataFormatVecPermute yet.
Converting up_sampling2d_32_12/Shape-0-0-VecPermuteNCHWToNHWC-LayoutOptimizer as custom op: DataFormatVecPermute
Run Code Online (Sandbox Code Playgroud)
我试图通过用upsampling(双线性插值)替换upsampling层并转置卷积来避免这种情况。但是转换器会抛出类似的错误。我检查了https://docs.nvidia.com/deeplearning/sdk/tensorrt-support-matrix/index.html,似乎还不支持所有这些操作。
我想知道是否有解决此问题的方法?TensorRT还喜欢其他格式并支持上采样吗?还是可以用其他受支持的操作替换它?
我还看到某处可以添加自定义操作来替换那些不支持TensorRT的操作。虽然我不太确定工作流程如何。如果有人可以指出自定义图层的示例,那也将非常有帮助。
先感谢您!