时间:20180716-20180722
Ubuntu14 + cuda8.0对应tensorflow1.2
def file2matrix (filename): fr = open(filename) # 打开文件名为filename的文件 arrayOLines = fr.readline() # 按行读取文本数据,自动生成一个列表。 # 一次读取整个文本数据,并且自动将文件内容分析成一个行的列表,比readline()快 # 后面的img2vector就是使用的readline(),因为要逐行逐个读取,可以对比一下 # 每个样本数据占据一行 numberOfLines = len(arrayOLines) # 样本数据的个数 returnMat = zeros((numberOfLines, 3)) # 创建一个矩阵numberOfline行3列 classLabelvector = [] index = 0 for line in arrayOLines: # 循环处理文件 print(line) line = line.strip() # 去掉回车符,pre(使上下的数据紧凑在一起), # 括号里面是之前不太对的理解,是去掉那个超级大的一行的列表中的回车符“\n” ,然后一行一行的处理,才得到所看到的上下的数据紧凑在一起的数据 # 也就是说,不是一次就得到的,是迭代出来的,所显示的是最终迭代完成之后的结果print line很多 # strip() 方法用于移除字p符串头尾指定的字符(默认为空格或换行符)或字符序列 listFromLine = line.split('\t') # python split()默认以空格分割成列表,split(\t)是按tab分割 # 分成了4列数据,得到了4个列表 returnMat[index, :] = listFromLine[0:3] # 将数据前三列提取出来,存放到returnMat的NumPy矩阵中,也就是特征矩阵 classLabelvector.append(int(listFromLine[-1])) # 将不喜欢,极具魅力,一般魅力填到分类标签 index += 1 # 继续迭代 return returnMat, classLabelvector