FID分数是否可以在tensorflow > 1.5
中正常运行,也就是说,如果我以1的批号运行它?
我正在使用https://github.com/bioinf-jku/TTUR中的FID实施,那里存在一个问题,即它只能以1的批处理大小运行。
我的时间不多了,所以我无法编写用于实现FID的脚本,因此,如果我以1的批处理量运行,任何人都可以确认它是否提供了正确的值。
答案 0 :(得分:1)
是的,来自TTUR implementation的用于计算FID分数的脚本将适用于任何批量大小值。 但是请注意,为此,它们将所有图像加载到内存中。
针对FID分数计算的均值和协方差矩阵是在所有图像的激活过程中定义的。但是要获得激活值,我们需要加载初始模型,并考虑批处理大小定义的图像数量来获得这些激活。
这些激活是通过函数get_activations
(link)计算和累积的。
def get_activations(images, sess, batch_size=50, verbose=False):
"""Calculates the activations of the pool_3 layer for all images.
...
,用于通过功能calculate_activation_statistics
(link)计算激活统计信息(均值和协方差)。