- 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
Copia un array di tipo float o double in un array di tipo ushort con il formato specificato.
bool ArrayToFP16(
|
Overloading (sovraccarico) per il tipo double
bool ArrayToFP16(
|
Parametri
dst_array[]
[out] Array ricevitore di tipo ushort.
src_array[]
[in] Array sorgente di tipo float o double.
fmt
[in] Copia del formato dall'enumerazione ENUM_FLOAT16_FORMAT.
Valore Restituito
Restituisce true in caso di esito positivo altrimenti false.
Note
I formati FLOAT16 e BFLOAT16 sono definiti nell'enumerazione ENUM_FLOAT16_FORMAT e sono utilizzati in MQL5 solo per operazioni con modelli ONNX.
La funzione converte i parametri in ingresso di tipo float o double nel tipo FLOAT16 e BFLOAT16. Questi parametri di input sono poi utilizzati nella funzione OnnxRun.
FLOAT16, noto anche come half-precision float, utilizza 16 bit per rappresentare numeri in virgola mobile. Questo formato fornisce un equilibrio tra precisione ed efficienza computazionale. FLOAT16 è ampiamente utilizzato in algoritmi di deep learning e reti neurali, che richiedono un'elaborazione ad alte prestazioni di grandi set di dati. Questo formato accelera i calcoli riducendo la dimensione dei numeri, che è particolarmente importante quando si allenano reti neurali profonde su GPU.
Anche BFLOAT16 (o Brain Floating Point 16) utilizza 16 bit ma differisce da FLOAT16 nell'approccio alla rappresentazione del formato. In questo formato, 8 bit sono allocati per rappresentare l'esponente, mentre i restanti 7 bit sono usati per rappresentare la mantissa. Questo formato è stato sviluppato per l'uso nel deep learning e nell'intelligenza artificiale, in particolare nella Tensor Processing Unit (TPU) di Google. BFLOAT16 dimostra eccellenti prestazioni nell'allenamento della rete neurale e può efficacemente accelerare i calcoli.
Esempio: funzione dall'articolo Lavorare con i modelli ONNX nei formati float16 e float8
//+------------------------------------------------------------------+
|
Vedere anche