Новая версия платформы MetaTrader 5 build 3390: Float в OpenCL и математических функциях, методы активации и потерь для машинного обучения - страница 9

 
Tensor - общее название для многомерного массива

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[ ][ ][ ][ ])
И теперь CMatrixDouble не нужен.

 
https://www.mql5.com/ru/forum/361332 - более нужнее для МО, чем однопоточный matrix
Многопоточность в MQL5 - Попробуйте OpenCL на CPU Intel Core i7-9700K.
Многопоточность в MQL5 - Попробуйте OpenCL на CPU Intel Core i7-9700K.
  • 2021.01.27
  • www.mql5.com
Мне понабилась многопоточность и я решил снова попробовать OpenCL на CPU Intel. Есть вариант использовать доступный в данный момент механизм многопоточности на уровне CPU под каждый эксперт выделяется свой поток
 
D n.d

коректные Д

 

3391

//+------------------------------------------------------------------+
//|                                                      TimeCur.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
vector ve_a = {0,9,4,6,2,3,5,9,4,6,3};
ve_a.Sort();

  }
//+------------------------------------------------------------------+

'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.

Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...

 
Roffild #:

vector вообще не должен существовать, а стать алиасом matrix[1][5] и иметь ВСЕ теже функции.

matrix вообще не должен существовать, потому что - tensor 2D

tensor можно сделать на основе динамического массива с функциями Tensor*() Или быть потомком динам.массивов с прозрачной конвертацией. Array*() подходят и для tensor.

Не вводите в язык новых сущностей, не выжав максимум из старых - типичная ошибка создателей языков программирования. С++ уже запороли этим...

Никогда видимо не пойму логику названия одномерного массива вектором. Все таки вектор это направление длина изначально. Но видимо кто то создал новый мир с близкими только ему сущностями)))

 
Неверное поведение компилятора.
class A
{
public:
  static bool f() { return(true); };
};

bool f() { return(true); }

void OnStart()
{
  bool i1 = (bool)(true ? true : f) ? true : false; // internal error #112

  bool i2 = (bool)(true ? true : A::f) ? true : false; // Internal compiler error
  
//  bool i3 = f; // 'f' - function call missing, open parenthesis expected - OK.
//  bool i4 = A::f; // 'f' - function call missing, open parenthesis expected - OK.
}
Строка для поискаOshibka 044.
 
На двухсокетном 2x EPYC 7763 с 256 логическими процессорами и 1TB оперативной памяти на Windows 11 при использовании 256 локальных агентов МТ5 3391 начинает безконтрольно запускать агентов (вплоть до 10000 агентов) пока машина полностью не перестает отвечать.
Если отключить половину агентов, т.е. оставить 128, то все работает штатно. Проблема только с локальными агентами, если их подключать как службу через metatester64 все работает хорошо.
 

Г-да авторы терминала, вы что сделали с OBJ_EDIT ??

он теперь моргает в такт тикам.. 

 
Dmitriy Shal #:
На двухсокетном 2x EPYC 7763 с 256 логическими процессорами и 1TB оперативной памяти

Подобные конфигурации предлагаются в готовом виде с системой охлаждения, которая могла бы выдержать полную непрерывную нагрузку в течение нескольких суток?

Сколько выходит по энергопотреблению?

Причина обращения: