[英]Read txt-file with data and labels into tensorflow
我对 tensorflow 比较陌生,因此我在数据准备方面遇到了困难。 我有一个包含大约 500 个.txt
文件的文件夹。 这些文件中的每一个都包含数据和数据的 label。 (数据代表 MFCC,它们是为 .wav 音频文件的每个“帧”生成的音频特征。)
每个文件如下所示:
1
1.013302233064514191e+01
-1.913611804400369110e+01
1.067932213100989847e+00
1.308777013246182364e+01
-3.591032944037165109e+00
1.294307486784356698e+01
5.628056691023937574e+00
5.311223121033092909e+00
1.069261850699697014e+01
4.398722698218969995e+00
5.045254154360372389e+00
7.757820364628694954e+00
-2.666228281486863416e+00
9.236707894117541784e+00
-1.727334954006132151e+01
5.166050472560470119e+00
6.421742650353079007e+00
2.550240091606466031e+00
9.871269941885440602e+00
7.594591526898561984e-01
-2.877228968309437196e+00
5.592507658015017924e-01
8.828475996369435919e+00
2.946838169848354561e+00
8.420693074096489150e-01
7.032494888004835687e+00
...
在每个文件的第一行,我得到了数据的label(本例为1)。 在文件的 rest 中,我得到了 13 个数字,代表每帧 13 个 MFCC。 每个帧 MFCC 用换行符分隔。
所以我的问题是将所有这些文件的内容转换为张量以便 tensorflow 可以使用它们的简单方法是什么?
谢谢!
不确定这是否是优化的做法,但可以按照以下步骤中的说明完成:
Text File
和 append 其数据到List
'\n'
替换为','
因为我们的目标是从中创建CSV
CSV File
Tensorflow Dataset
。 请参阅本教程,了解如何将CSV File
转换为Tensorflow Dataset
。执行上述前三个步骤的代码如下:
import os
import pandas as pd
# The Folder where all the Text Files are present
Path_Of_Text_Files = '/home/mothukuru/Jupyter_Notebooks/Stack_Overflow/Text_Files'
List_of_Files = os.listdir(Path_Of_Text_Files)
List_Of_Elements = []
# Iterate through each Text File and append its data to a List
for EachFile in List_of_Files:
with open(os.path.join(Path_Of_Text_Files, EachFile), 'r') as FileObj:
List_Of_Elements.append(FileObj.readlines())
# Below code is to remove '\n' at the end of each Column
for i in range(len(List_Of_Elements)):
List_Of_Elements[i] = [sub.replace('\n', ',') for sub in List_Of_Elements[i]]
Column_Names = ['Label,', 'F1,', 'F2,', 'F3,', 'F4,', 'F5,', 'F6,', 'F7,',
'F8,', 'F9,', 'F10,', 'F11,', 'F12,', 'F13']
# Write the Data in the List, List_Of_Elements to a CSV File
with open(os.path.join(Path_Of_Text_Files, 'Final_Data.csv'), 'w') as FileObj:
FileObj.writelines(Column_Names)
for EachElement in List_Of_Elements:
with open(os.path.join(Path_Of_Text_Files, 'Final_Data.csv'), 'a') as FileObj:
FileObj.write('\n')
FileObj.writelines(EachElement)
Path_Of_Final_CSV = os.path.join(Path_Of_Text_Files, 'Final_Data.csv')
Data = pd.read_csv(Path_Of_Final_CSV, index_col = False)
要检查我们的数据是否正常, print(Data.head())
将 output 以下数据:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.