小编Ewe*_*ler的帖子

将HDF5转换为Parquet而不加载到内存中

我有一个大型数据集(~600 GB)存储为HDF5格式.由于它太大而无法放入内存中,我想将其转换为Parquet格式并使用pySpark执行一些基本数据预处理(归一化,查找相关矩阵等).但是,我不确定如何将整个数据集转换为Parquet而不将其加载到内存中.

我看了这个要点:https://gist.github.com/jiffyclub/905bf5e8bf17ec59ab8f#file-hdf_to_parquet-py,但似乎整个数据集都被读入内存.

我想到的一件事是以块的形式读取HDF5文件并将其逐步保存到Parquet文件中:

test_store = pd.HDFStore('/path/to/myHDFfile.h5')
nrows = test_store.get_storer('df').nrows
chunksize = N
for i in range(nrows//chunksize + 1):
    # convert_to_Parquet() ...
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何允许我逐步构建Parquet文件的文档.任何进一步阅读的链接将不胜感激.

python hdf5 pandas parquet hdf

8
推荐指数
1
解决办法
2064
查看次数

在Tensorflow中处理非常大的数据集

我有一个相对较大的数据集(> 15 GB)作为Pandas数据帧存储在一个文件中.我想将此数据转换为TFRecords格式,然后将其提供给我的计算图.我正在学习本教程:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/how_tos/reading_data/convert_to_records.py.

但是,这仍然涉及将整个数据集加载到内存中.有没有一种方法可以让你直接将大数据集转换成TFrecords而无需将所有内容加载到内存中?在这种情况下甚至需要TFRecords还是我可以在培训期间从磁盘读取数组?

替代方案是使用np.memmap或将数据框分成更小的部分,但我想知道是否可以将整个数据集转换为TFrecord格式.

machine-learning tensorflow

6
推荐指数
0
解决办法
1160
查看次数

Tensorflow 中的分数最大池化

tf.nn.fractional_max_pool在 Tensorflow 中使用该函数时,除了它返回的输出池化张量外,它还返回 arow_pooling_sequence和 a col_pooling_sequence,我假设它们用于反向传播以查找其梯度。这与正常的 $2 \times 2$ 最大池化形成对比,后者仅返回池化张量。

我的问题是:我们是否必须自己处理 row_pooling 和 col_pooling 值?我们如何将它们包含到网络中以使反向传播正常工作?我修改了一个简单的卷积神经网络,使用分数最大池化而不是 2 x 2 最大池化而不使用这些值,结果要差得多,这让我相信我们必须明确处理这些。

这是我使用 FMP 的代码的相关部分:

def add_layer_ops_FMP(conv_func, x_input, W, keep_prob_layer, training_phase):

    h_conv = conv_func(x_input, W, stride_l = 1)
    h_BN = batch_norm(h_conv, training_phase, epsilon)
    h_elu = tf.nn.elu(h_BN) # Rectified unit layer - change accordingly

    def dropout_no_training(h_elu=h_elu):
        return dropout_op(h_elu, keep_prob = 1.0)

    def dropout_in_training(h_elu=h_elu, keep_prob_layer=keep_prob_layer):
        return dropout_op(h_elu, keep_prob = keep_prob_layer)

    h_drop = tf.cond(training_phase, dropout_in_training, dropout_no_training)
    h_pool, row_pooling_sequence, col_pooling_sequence = tf.nn.fractional_max_pool(h_drop) # …
Run Code Online (Sandbox Code Playgroud)

machine-learning tensorflow

4
推荐指数
1
解决办法
2771
查看次数

标签 统计

machine-learning ×2

tensorflow ×2

hdf ×1

hdf5 ×1

pandas ×1

parquet ×1

python ×1