问题描述
我有两个具有相同数字的数组 {A,Bstrong>}。然后我执行以下操作:
- 我将 B 归一化在 [-1,1] 范围内
- 我将tf.image.adjust_contrast应用于A和B(具有相同的contrast_factor)
- 我在 [0,255] 范围内重新缩放 B
- 比较两者,但相差一些小数
要重现的代码(使用 Python 3.7.2,tensorflow==2.4):
import numpy as np
import tensorflow as tf
A = (np.random.randint(0,256,(2,2,3)))
# Scale between -1 and 1
B = (A / 177.5) - 1
# Change contrast w/same factor to A and B
A = tf.image.adjust_contrast(A,0.4).numpy()
B = tf.image.adjust_contrast(B,0.4).numpy()
# Re-scale A back to [0,255]
B = 177.5 * B + 177.5
示例输出:
A:
array([[[ 98,174,96],[ 88,159,79]],[[178,91,89],[150,170,67]]])
B:
array([[[ 98.19999442,174.60000135,96.89999849],[ 88.59999925,159.80000131,79.69999701]],[[178.60000551,90.9999954,89.69999418],[150.60000286,170.60000116,67.70000041]]])
比较:
np.testing.assert_almost_equal(A,B)
# Error
# ... Arrays are not almost equal to 7 decimals ...
我的问题是:由于这种数据增强技术仅在训练期间应用,在测试时(即:而不是 98.19999442 将是 98) A 和 B 之间的这个小增量在进行推理时会不会产生很小的错误,或者这只是一个不会影响性能的转换错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)