es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formación sobre la creación de archivos h5 de big data en Julia mediante h5 en python.

Tengo un archivo h5 que fue creado en Julia.
Necesito practicar entrenamiento, pero no estoy seguro de cómo trabajar con big data.

feature_matrix = h5py.File('features.h5','r')

Este archivo tiene un conjunto de datos que tiene la siguiente estructura, por ejemplo:

Ruta: /feature1
Forma: (900000,)
Tipo de dato: float32

Ruta: /feature2
Forma: (900000,)
Tipo de dato: float32

Ruta: /label
Forma: (900000,)
Tipo de dato: float32

que se deriva del código en
https://www.titanwolf.org/Network/q/8a9ac510-a806-4504-8c61-1a8720717dab/y
Si extraigo las características (70) en una matriz, será demasiado grande para procesarla. ¿Cómo debo combinar las características por separado y mantener la etiqueta por separado para entrenar un modelo?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para trabajar con big data, es necesario utilizar técnicas eficientes para manejar conjuntos de datos grandes. En este caso, una opción podría ser utilizar una técnica de procesamiento por lotes donde los datos se dividen en subconjuntos más pequeños, también conocidos como lotes, y el modelo se entrena en cada uno de estos lotes de manera secuencial. Esto se puede hacer utilizando la función fit_generator() en Keras u otras bibliotecas similares.

    Para combinar las características de forma separada, un enfoque podría ser utilizar la función concatenate() en numpy para fusionar los datos de características a lo largo de un eje especificado. Por ejemplo, si hay 70 características, podrías combinar los datos a lo largo del segundo eje:

    import numpy as np
    
    caracteristica1 = feature_matrix['/feature1'][:]
    caracteristica2 = feature_matrix['/feature2'][:]
    
    # combinar características a lo largo del segundo eje
    caracteristicas = np.concatenate([caracteristica1.reshape(-1, 1), caracteristica2.reshape(-1, 1)], axis=1)
    

    Para mantener la etiqueta por separado, puedes extraerla del archivo h5 de la siguiente manera:

    etiqueta = feature_matrix['/label'][:]
    

    Ahora puedes utilizar la matriz de caracteristicas y el arreglo de etiquetas para entrenar tu modelo utilizando la técnica de procesamiento por lotes mencionada anteriormente.

Comments are closed.