Новая версия платформы MetaTrader 5 build 3390: Float в OpenCL и математических функциях, методы активации и потерь для машинного обучения - страница 9
Tensor 1D = vector[5] = matrix[5][1] or matrix[1][5] = double[5]
Tensor 2D = matrix[5][5] = double[5][5]
Tensor xD = double[5][5][5]...
Vector - промежуточный вариант между массивом и matrix. Смысл его использовать?
Pytorch нужно брать за основу, раз на МО замахнулись! Pytorch = NumPy для МО.
Сейчас реализация похоже на альфа-версию. За Reshape спасибо. И за MatMul тоже, если используется процессорное ускорение. Остальное - "Давайте, добавим Х! Давайте!" (мем лета).
Лучше бы на обычных массивах всё это сделали. Тем более в 2815 (26 февраля 2021):
Снято ограничение, по которому требовалось указывать размер для второй,
третьей и четвертой размерностей динамического массива, когда он
используется в качестве параметра функции.
Это повысит возможности повторного использования и гибкость кода.
void func(int &arr[ ][ ][ ][ ])
Мне понабилась многопоточность и я решил снова попробовать OpenCL на CPU Intel. Есть вариант использовать доступный в данный момент механизм многопоточности на уровне CPU под каждый эксперт выделяется свой поток
'Sort' is not a member of 'vector' typeTimeCur.mq5166
expression has no effectTimeCur.mq5161
1 errors, 1 warnings22
А в хелпе при этом в вычислении квантилей и т.п. :
Quantile
Примечание
Диапазон значений параметра quantile принимает значения в интервале [0, 1] Для расчета квантилей используется линейный алгоритм. Для правильного расчета квантилей последовательность должна быть отсортирована.
vector вообще не должен существовать, а стать алиасом matrix[1][5] и иметь ВСЕ теже функции.
matrix вообще не должен существовать, потому что - tensor 2D
tensor можно сделать на основе динамического массива с функциями Tensor*() Или быть потомком динам.массивов с прозрачной конвертацией. Array*() подходят и для tensor.
Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...
vector вообще не должен существовать, а стать алиасом matrix[1][5] и иметь ВСЕ теже функции.
matrix вообще не должен существовать, потому что - tensor 2D
tensor можно сделать на основе динамического массива с функциями Tensor*() Или быть потомком динам.массивов с прозрачной конвертацией. Array*() подходят и для tensor.
Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...
Никогда видимо не пойму логику названия одномерного массива вектором. Все таки вектор это направление длина изначально. Но видимо кто то создал новый мир с близкими только ему сущностями)))
На двухсокетном 2x EPYC 7763 с 256 логическими процессорами и 1TB оперативной памяти на Windows 11 при использовании 256 локальных агентов МТ5 3391 начинает безконтрольно запускать агентов (вплоть до 10000 агентов) пока машина полностью не перестает отвечать. Если отключить половину агентов, т.е. оставить 128, то все работает штатно. Проблема только с локальными агентами, если их подключать как службу через metatester64 все работает хорошо.
Dmitriy Shal #: На двухсокетном 2x EPYC 7763 с 256 логическими процессорами и 1TB оперативной памяти
Подобные конфигурации предлагаются в готовом виде с системой охлаждения, которая могла бы выдержать полную непрерывную нагрузку в течение нескольких суток?
коректные Д
3391
'TimeCur.mq5' TimeCur.mq5 1 1
'Sort' is not a member of 'vector' type TimeCur.mq5 16 6
expression has no effect TimeCur.mq5 16 1
1 errors, 1 warnings 2 2
А в хелпе при этом в вычислении квантилей и т.п. :
QuantileПримечание
Диапазон значений параметра quantile принимает значения в интервале [0, 1] Для расчета квантилей используется линейный алгоритм. Для правильного расчета квантилей последовательность должна быть отсортирована.
vector вообще не должен существовать, а стать алиасом matrix[1][5] и иметь ВСЕ теже функции.
matrix вообще не должен существовать, потому что - tensor 2D
tensor можно сделать на основе динамического массива с функциями Tensor*() Или быть потомком динам.массивов с прозрачной конвертацией. Array*() подходят и для tensor.
Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...
vector вообще не должен существовать, а стать алиасом matrix[1][5] и иметь ВСЕ теже функции.
matrix вообще не должен существовать, потому что - tensor 2D
tensor можно сделать на основе динамического массива с функциями Tensor*() Или быть потомком динам.массивов с прозрачной конвертацией. Array*() подходят и для tensor.
Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...
Никогда видимо не пойму логику названия одномерного массива вектором. Все таки вектор это направление длина изначально. Но видимо кто то создал новый мир с близкими только ему сущностями)))
Если отключить половину агентов, т.е. оставить 128, то все работает штатно. Проблема только с локальными агентами, если их подключать как службу через metatester64 все работает хорошо.
Г-да авторы терминала, вы что сделали с OBJ_EDIT ??
он теперь моргает в такт тикам..
На двухсокетном 2x EPYC 7763 с 256 логическими процессорами и 1TB оперативной памяти
Подобные конфигурации предлагаются в готовом виде с системой охлаждения, которая могла бы выдержать полную непрерывную нагрузку в течение нескольких суток?
Сколько выходит по энергопотреблению?