优化tensorflow装饰函数(Python)的实现效率



我有一个50000x32x3的训练图像阵列,将与基本图像(32x32x3(进行比较。这段代码适用于计算delta C,然而,它的效率非常低:

squared_diffs = (train_images - base)**2
rBar = (train_images + base)/2
DeltaC = np.zeros((50000,32, 32))
for i in range(len(blankC)):
for j in range(len(blankC[i])):
for k in range(len(blankC[j])):
DeltaC[i][j][k] = np.sqrt((2*squared_diffs[i][j][k][0]) + (4*squared_diffs[i][j][k][1]) +
(3*squared_diffs[i][j][k][2]) + (rBar[i][j][k][0]*(squared_diffs[i][j][k][0]-squared_diffs[i][j][k][2])))

这样就得到了一个50000x32x32的数组,这正是我想要的。我的目标是在tensorflow装饰函数中计算delta C。4D阵列对我来说很难正确导航,任何能让它更像Python的帮助都将不胜感激。

squared_diffs = (train_images - base)**2
squared_diffs0 = squared_diffs[:,:,:,0]
squared_diffs1 = squared_diffs[:,:,:,1]
squared_diffs2 = squared_diffs[:,:,:,2]
rBar = (train_images + base)/2
rBar = rBar[:,:,:,0]
DeltaC = np.sqrt((2*squared_diffs0) + (4*squared_diffs1) + (3*squared_diffs2) + (rBar*(squared_diffs0-squared_diffs2)))

最新更新