我正在处理保存在.mat文件中的here大小为[610340340102]的高光谱图像。在用scipy加载它之后,它被表示为array。在计算之前,我必须把它改成[610*340102]。下面的代码正在使用i5-6400处理器的台式机上运行:
import tensorflow as tf
import scipy.io as spio
import time
pavia_u = spio.loadmat("./../data/PaviaU.mat")["paviaU"]
original_shape = tf.shape(pavia_u)
pavia_u_reshaped = tf.to_float(tf.squeeze(tf.reshape(pavia_u, [-1, original_shape[0] * original_shape[1], original_shape[2]])))
with tf.Session() as session:
start = time.clock()
pavia_u_reshaped_value = session.run(pavia_u_reshaped)
end = time.clock()
print("Reshape time: {}".format(end - start))
它打印:Reshape time: 157.7449091748693
看起来,对如此小的数据集进行重塑操作不应该太慢。不管怎样,我把整形搬到了numpy a
^{pr2}$哪个打印:Test time: 143.26529380869727
现在是什么消耗了这么多时间?如何解决这个问题。在
整形不是时间慢的原因,而是初始化需要时间。将代码更改为:
相关问题 更多 >
编程相关推荐