Machine learning 为什么我们可以在训练后更改darknet YOLO的输入图像大小?

Machine learning 为什么我们可以在训练后更改darknet YOLO的输入图像大小?,machine-learning,deep-learning,neural-network,yolo,darknet,Machine Learning,Deep Learning,Neural Network,Yolo,Darknet,Darknet yolo配置文件如下所示: [net] batch=64 subdivisions=8 height=416 width=416 channels=3 ... 但是,我们可以在不训练模型的情况下更改高度和宽度,并在图像大小更大的情况下获得更好的结果(当然,推断需要更长的时间)。我有点困惑。当我们改变图像大小时,权重会发生什么变化?例如,如果第一层有N个输入,第二层有M个神经元,那么如果网络完全连接,我们应该有(N*M+1)个权重。 所以问题是:我们如何在不改变重量的情况下改变N

Darknet yolo配置文件如下所示:

[net]
batch=64
subdivisions=8
height=416
width=416
channels=3
...
但是,我们可以在不训练模型的情况下更改高度宽度,并在图像大小更大的情况下获得更好的结果(当然,推断需要更长的时间)。我有点困惑。当我们改变图像大小时,权重会发生什么变化?例如,如果第一层有N个输入,第二层有M个神经元,那么如果网络完全连接,我们应该有(N*M+1)个权重。 所以问题是:我们如何在不改变重量的情况下改变N(宽度和高度)


我对这个主题也比较陌生,但我认为只有Yolov1使用完全连接的层。看看Yolov2等的体系结构。没有FC层,只有卷积。这可能就是答案?

感谢您的回复,完全连接的层只是一个例子,我不是说yolo有FC层。如果您将输入大小从416更改为320,它将传播到所有层,但在更改输入大小以进行推断后,不必更改.weight文件。是的,我明白您的观点。但是,如果只有卷积层,那么对于任何输入大小,权重不是都相同吗?可能会改变的是特征映射的大小,因此如果您有一个用于推断的偏差输入大小,那么输出不是13x13,而是其他东西。Imo移除所有FC层会给你一个输入大小独立的网络。关键是在卷积层中,只有一个内核(例如3*3)会被训练,然后这个内核可以应用于任何输入图像,因为YLO是完全卷积网络,我们可以在训练后传递任何大小的图像。谢谢你的关键词:“输入大小独立网络”