- 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
Производит копирование массива типа float или double в массив типа ushort с заданным форматом.
bool ArrayToFP16(
|
Перегрузка для типа double
bool ArrayToFP16(
|
Параметры
dst_array[]
[out] Массив-приемник типа ushort.
src_array[]
[in] Массив-источник типа float или double.
fmt
[in] Формат копирования из перечисления ENUM_FLOAT16_FORMAT.
Возвращаемое значение
Возвращает true в случае успеха, иначе false.
Примечание
Форматы FLOAT16 и BFLOAT16 определены в перечислении ENUM_FLOAT16_FORMAT и используются в MQL5 исключительно только для работы с ONNX моделями.
Функция используется для преобразования входных параметров типа float или doulbe в тип FLOAT16 и BFLOAT16. Далее эти входные параметры используются в функции OnnxRun.
FLOAT16, также известный как половинная точность или формат "half-precision float", использует 16 бит для представления числа с плавающей точкой. Этот формат обеспечивает баланс между точностью и эффективностью вычислений. FLOAT16 широко применяется в глубоком обучении и нейронных сетях, где требуется высокая производительность при обработке больших объемов данных. Этот формат позволяет ускорить вычисления за счет сокращения размера чисел, что особенно важно при обучении глубоких нейронных сетей на графических процессорах (GPU).
BFLOAT16 (или Brain Floating Point 16) также использует 16 бит, но он различается от FLOAT16 в способе представления чисел. В этом формате 8 бит выделены для представления экспоненты, а оставшиеся 7 бит используются для представления мантиссы. Этот формат был разработан для использования в глубоком обучении и искусственном интеллекте, особенно в процессорах Google Tensor Processing Unit (TPU). BFLOAT16 обладает хорошей производительностью при обучении нейронных сетей и может быть эффективно использован для ускорения вычислений.
Пример: функция из статьи Работа с ONNX-моделями в форматах float16 и float8
//+------------------------------------------------------------------+
|
Смотри также