- ArrayBsearch
- ArrayCopy
- ArrayCompare
- ArrayFree
- ArrayGetAsSeries
- ArrayInitialize
- ArrayFill
- ArrayIsDynamic
- ArrayIsSeries
- ArrayMaximum
- ArrayMinimum
- ArrayPrint
- ArrayRange
- ArrayResize
- ArrayInsert
- ArrayRemove
- ArrayReverse
- ArraySetAsSeries
- ArraySize
- ArraySort
- ArraySwap
- ArrayToFP16
- ArrayToFP8
- ArrayFromFP16
- ArrayFromFP8
ArrayToFP16
Permite copiar un array de tipo float o double en un array de tipo ushort con el formato establecido.
bool ArrayToFP16(
|
Sobrecarga para el tipo double
bool ArrayToFP16(
|
Parámetros
dst_array[]
[out] Array receptor de tipo ushort.
src_array[]
[in] Array fuente de tipo float o double.
fmt
[in] Formato de copiado de la enumeración ENUM_FLOAT16_FORMAT.
Valor retornado
Retorna true en el caso de éxito, de lo contrario, false.
Observación
Los formatos FLOAT16 y BFLOAT16 se definen en la enumeración ENUM_FLOAT16_FORMAT y se usan en MQL5 sola y exclusivamente para trabajar con modelos ONNX.
La función se utiliza para convertir parámetros de entrada de tipo float o doulbe a tipo FLOAT16 y BFLOAT16. Estos parámetros de entrada se utilizan en la función OnnxRun.
FLOAT16, también conocido como formato de media precisión o "half-precision float", utiliza 16 bits para representar un número de coma flotante. Este formato ofrece un equilibrio entre precisión y eficiencia computacional. FLOAT16 se utiliza ampliamente en el aprendizaje profundo y las redes neuronales, donde se requiere un alto rendimiento al procesar grandes cantidades de datos. Este formato permite acelerar los cálculos reduciendo el tamaño de los números, lo cual resulta especialmente importante al entrenar redes neuronales profundas en unidades de procesamiento gráfico (GPU).
BFLOAT16 (o Brain Floating Point 16) también usa 16 bits, pero se diferencia de FLOAT16 en el modo de representación de los números. En este formato, se asignan 8 bits para representar el exponente y los 7 bits restantes se utilizan para representar la mantisa. Este formato se ha desarrollado para su uso en el aprendizaje profundo y la inteligencia artificial, especialmente en los procesadores Tensor Processing Unit (TPU) de Google. BFLOAT16 muestra un buen rendimiento en el entrenamiento de redes neuronales y puede utilizarse eficazmente para acelerar el cálculo.
Ejemplo: función del artículo Trabajamos con modelos ONNX en formatos float16 y float8
//+------------------------------------------------------------------+
|
Ver también