gpt4 book ai didi

pandas - 如何在 RNN TensorFlow 中使用非常大的数据集?

转载 作者:行者123 更新时间:2023-11-30 08:38:32 25 4
gpt4 key购买 nike

我有一个非常大的数据集:7.9 GB 的 CSV 文件。其中80%作为训练数据,剩余20%作为测试数据。当我加载训练数据 (6.2 GB) 时,在第 80 次迭代(第 80 个文件)时出现 MemoryError 。这是我在加载数据时使用的脚本:

import pandas as pd
import os

col_names = ['duration', 'service', 'src_bytes', 'dest_bytes', 'count', 'same_srv_rate',
'serror_rate', 'srv_serror_rate', 'dst_host_count', 'dst_host_srv_count',
'dst_host_same_src_port_rate', 'dst_host_serror_rate', 'dst_host_srv_serror_rate',
'flag', 'ids_detection', 'malware_detection', 'ashula_detection', 'label', 'src_ip_add',
'src_port_num', 'dst_ip_add', 'dst_port_num', 'start_time', 'protocol']

# create a list to store the filenames
files = []

# create a dataframe to store the contents of CSV files
df = pd.DataFrame()

# get the filenames in the specified PATH
for (dirpath, dirnames, filenames) in os.walk(path):
''' Append to the list the filenames under the subdirectories of the <path> '''
files.extend(os.path.join(dirpath, filename) for filename in filenames)

for file in files:
df = df.append(pd.read_csv(filepath_or_buffer=file, names=col_names, engine='python'))
print('Appending file : {file}'.format(file=files[index]))

pd.set_option('display.max_colwidth', -1)
print(df)

6.2 GB 的 CSV 文件中有 130 个文件。

最佳答案

对于大型数据集 - 我们可能已经将 6.2GB 算作大型数据集 - 一次读取所有数据可能不是最好的主意。无论如何,由于您要逐批训练网络,因此仅加载接下来要使用的批处理所需的数据就足够了。

tensorflow documentation很好地概述了如何实现数据读取管道。根据链接的文档的阶段是:

  1. The list of filenames
  2. Optional filename shuffling
  3. Optional epoch limit
  4. Filename queue
  5. A Reader for the file format
  6. A decoder for a record read by the reader
  7. Optional preprocessing
  8. Example queue

关于pandas - 如何在 RNN TensorFlow 中使用非常大的数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com