我已经完成了两种算法,我想检查其中哪一种更“高效”并且使用更少的内存。第一个创建一个 numpy 数组并修改该数组。第二个创建一个 python 空数组并将值推送到这个数组中。谁更好?第一个程序:
f = open('/Users/marcortiz/Documents/vLex/pylearn2/mlearning/classify/files/models/model_training.txt')
lines = f.readlines()
f.close()
zeros = np.zeros((60343,4917))
for l in lines:
row = l.split(",")
for element in row:
zeros[lines.index(l), row.index(element)] = element
X = zeros[1,:]
Y = zeros[:,0]
one_hot = np.ones((counter, 2))
第二个:
f = open('/Users/marcortiz/Documents/vLex/pylearn2/mlearning/classify/files/models/model_training.txt')
lines = f.readlines()
f.close()
X = []
Y = []
for l in lines:
row = l.split(",")
X.append([float(elem) for elem in row[1:]])
Y.append(float(row[0]))
X = np.array(X)
Y = np.array(Y)
one_hot = np.ones((counter, 2))
我的理论是第一个速度较慢,但使用的内存更少,并且在处理大文件时更“稳定”。第二个更快,但使用大量内存,并且在处理大文件(543MB,70,000 行)时不太稳定
谢谢!