Ошибки, баги, вопросы - страница 3418

 
JRandomTrader #:

Под Wine файлы в UTF-8 не пишутся. Файл нулевой длины, и ошибки тоже нет.

Если сделать так

пишется в UTF-16

Исправили в билде 4067.

Обновитесь, пожалуйста.

 
Когда матрицы будут с типом данных int и меньше? Для машинного обучения мне требуется работать с бинарными данными, а флоты крайне избыточно употребляют память.
 

Здравствуйте.

Напишите, пожалуйста, системные требования к Metatrader 4/5 на страницах справки и загрузки. Когда MT5 перестал быть совместимым с 32-разрядными ОС?

 
Ego_Dekker #:
Когда MT5 перестал быть сосвместимым с 32-разрядными ОС?

Да уж несколько лет как.

 

Ошибка при выполнении:

class A {};
void OnStart()
{
                      A*              a;
    Print(typename(   A*) == typename(a)); //(1)
                   void*              v;
    Print(typename(void*) == typename(v)); //(2)
}

Результат:   true:false

Ожидалось: true:true

Какая принципиальная разница между (1) и (2) ?

 
Aleksey Vyazmikin #:
Когда матрицы будут с типом данных int и меньше? Для машинного обучения мне требуется работать с бинарными данными, а флоты крайне избыточно употребляют память.

Неизвестно когда.

На матрицах целочисленного типа происходит катастрофическая потеря точности. Если речь идёт о машинном обучении, то матрицы весов по-любому должны быть вещественного типа, пусть даже и float. А на векторах слоёв вы много не выиграете.

Я понимаю, если бы был запрос на float16. Но, это всё - экономия на спичках

 
Ошибка при выполнении:
class A {};
void OnStart()
{
                   int const        i = NULL;
    Print(typename(int) == typename(i)); //(1)
                   A*  const        a = NULL;
    Print(typename(A*)  == typename(a)); //(2)
}
Результат в (1) случае: true, а во (2) - false. A какая принципиальная разница?
 
Slava #:

Неизвестно когда.

На матрицах целочисленного типа происходит катастрофическая потеря точности. Если речь идёт о машинном обучении, то матрицы весов по-любому должны быть вещественного типа, пусть даже и float. А на векторах слоёв вы много не выиграете.

Я понимаю, если бы был запрос на float16. Но, это всё - экономия на спичках

Реализация работы с матрицами в MQL5 - для меня в первую очередь это реализация динамичного двухмерного массива.

Машинное обучение - это не только создание моделей, но и подготовка данных и их анализ. Древовидные модели замечательно работают с целыми числами, в том числе после квантования.

Конкретно сейчас мне нужно анализировать модель, для чего требуется матрица примерно 70000 строк на 17000 столбцов, Данные в ней бинарные по сути - анализируется активация листьев.

Использую матрицы, а не одномерный массив, так как есть существенная экономия на подсчёте индексов массива.

Планирую расчет перенести на GPU - там ограничения по памяти ещё более критичны. Хочется передавать данные для работы с двухмерным массивом.

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

 
В (1) случае нет Предупреждения, а во (2) есть:
void f( ushort& ch )
{
    int i = 1;
    ch += 1; //(1)
    ch += i; //(2)//Warning: possible loss of data due to type conversion from 'int' to 'ushort'
}

А какая принципиальная разница между ними?

 
A100 #:
В (1) случае нет Предупреждения, а во (2) есть:

А какая принципиальная разница между ними?

Числовая константа не превосходит USHORT_MAX.

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