天朝網絡鎖國,百度找了半個小時找不出來原因,只能谷歌
谷歌第一條就是,頓時感覺幸福感來的太突然
原因是輸入的矩陣均是字符串(從文件里讀的)
那么就需要批量轉數組,一行一行的轉。
下面是我的代碼:
rownum = 0 f = open(train_Y_path) for line in f.readlines(): train_Y_matrix[rownum] = map(float,line.strip('\n ').split(' ')) rownum += 1 print train_Y_matrix
其中將每一行的float切分 返回string的數組后再轉化為float
這么做有個缺點,是返回的是list,針對二維數組初始化是用的
train_Y_matrix = [[0 for col in range(n_outs)] for row in range(train_rows)]
這種方法而寫的。
那么我們要的是矩陣運算,numpy里面的narray提供了良好的封裝
我們應該這么寫
train_X_matrix = numpy.empty((train_rows,n_ins),numpy.float64) for line in f.readlines(): train_X_matrix[rownum] = numpy.asarray(line.strip('\n ').split(' '), dtype=float) rownum += 1
這樣就可以按照numpy array的方式來操作這個數組了