
Просьба добавить справа еще одну картинку того же размера - увеличенная в четыре раза (вместо одного пикселя - четыре (2x2) таких же по цвету) оригинальная картинка.
Для ее вывода можно заменить код:
//ShowImage(canvas_original,"original_image",new_image_width,0,image_width,image_height,image_data); ShowImage4(canvas_original,"original_image",new_image_width,0,image_width,image_height,image_data);
//+------------------------------------------------------------------+ //| ShowImage4 | //+------------------------------------------------------------------+ bool ShowImage4(CCanvas &canvas,const string name,const int x0,const int y0,const int image_width,const int image_height, const uint &image_data[]) { if(ArraySize(image_data)==0 || name=="") return(false); //--- prepare canvas canvas.CreateBitmapLabel(name,x0,y0,4*image_width,4*image_height,COLOR_FORMAT_XRGB_NOALPHA); //--- copy image to canvas for(int y=0; y<4*image_height-1; y++) for(int x=0; x<4*image_width-1; x++) { uint clr =image_data[(y/4)*image_width+(x/4)]; canvas.PixelSet(x,y,clr); } //--- ready to draw canvas.Update(true); return(true); }
Спасибо! Уменьшил в два раза по каждой координате, получив правое изображение, как оригинальное.
Думал, что float16/32 при таком преобразовании станут близкими к оригиналу. Но и они заметно лучше! Т.е. UpScale+DownScale >> Original.
ЗЫ Удивили. Похоже, все старые снимки/видео целесообразно прогонять через подобную onnx-модель.
Если на вход onnx-модели подавать одни и те же данные, то на выходе будет всегда одинаковый результат?
Есть ли элемент случайности внутри onnx-модели?
Если на вход onnx-модели подавать одни и те же данные, но на выходе будет всегда одинаковый результат?
Есть ли элемент случайности внутри onnx-модели?
В общем случае это зависит от того, какие операторы используются внутри ONNX-модели.
Для данной модели результат должен быть одинаковый, она содержит детерминированные операции (всего 1195)
Примеры чисел половинной точности
В данных примерах числа с плавающей запятой представлены в двоичном представлении. Они включают в себя бит знака, экспоненту и мантиссу.
0 01111 0000000000 = +1 * 215-15 = 1
0 01111 0000000001 = +1.0000000001 2 * 215-15=1 + 2-10 = 1.0009765625 (следующее большее число после 1)
Т.е. для чисел с 5 знаками после запятой (большинство валют) после 1.00000 можно применить только 1.00098.
Круто! Но не для трейдинга и работы с котировками.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Работа с ONNX-моделями в форматах float16 и float8:
Форматы данных, используемые для представления моделей машинного обучения, играют ключевую роль в их эффективности. В последние годы появилось несколько новых типов данных, разработанных специально для работы с моделями глубокого обучения. В данной статье мы обратим внимание на два новых формата данных, которые стали широко применяться в современных моделях.
В данной статье мы сосредоточимся на двух таких новых форматах данных — float16 и float8, которые начинают активно использоваться в современных ONNX-моделях. Эти форматы представляют собой альтернативные варианты более точных, но требовательных к ресурсам форматам даннных с плавающей точкой. Они обеспечивают оптимальное сочетание производительности и точности, что делает их особенно привлекательными для различных задач машинного обучения. Мы изучим основные характеристики и преимущества форматов float16 и float8, а также представим функции для их преобразования в стандартные float и double.
Это поможет разработчикам и исследователям лучше понять, как эффективно использовать эти форматы в своих проектах и моделях. В качестве примера мы рассмотрим работу ONNX-модели ESRGAN, которая применяется для улучшения качества изображений.
Автор: MetaQuotes