Lecture 035. 信息没留下,放大网格能找回来吗? · 实现代码
5. 信息没留下,放大网格能找回来吗? · 实现代码
主线阅读与优先实验
同图四输出、共享计算、FCN、RoIAlign、信息碰撞与SAM接口
展开完整实现代码
# 独立 CPU 练习:表示碰撞与新增通道。
A = [[1.0,0.0],[1.0,0.0]]
B = [[0.0,1.0],[0.0,1.0]]
def encode(matrix):
mean = sum(map(sum,matrix))/4
left_minus_right = sum(row[0] for row in matrix)/2-sum(row[1] for row in matrix)/2
return mean,left_minus_right
fa,fb = encode(A),encode(B)
assert fa[0]==fb[0]==0.5
assert fa==(0.5,1.0) and fb==(0.5,-1.0)
for label,matrix in [('甲',A),('乙',B)]:
average,side = encode(matrix)
enlarged = [[average]*4 for _ in range(4)]
print(label,'只留均值:',average,'放大后首行:',enlarged[0], '新增左右差:',side)
print('同一个均值放大后仍相同;差别来自编码时保存了新的通道。')