Mantius писал(а):Какие есть варианты?
Вариант только один - купить книжку по базам данных. В двух словах этого не объяснить.
И сесть серьёзно подумать, в каком виде будут храниться данные.
Модератор: Модераторы
Mantius писал(а):Какие есть варианты?
Vadim писал(а):Mantius
Итого: 37 371 МБ или 37 ГБ. Это если не считать расходов памяти на разные служебные цели.
Делаем вывод, что оперативной памяти Вам не хватит, если Вы используете 32-ух разрядную версию какой-либо операционной системы. Для 64-ёх разрядной ОЗУ вполне хватит, вот только деньги, мать их за ногу...
Ситуация патовая. Что тут можно предпринять? Использовать дешёвую память, т.е. жёсткий диск. Для хранения данных наиболее целесообразно использовать какой либо сервер базы данных, т.к. там уже есть все методы занесения и извлечения данных, а так же манипуляций ими.
Может быть есть варианты хитростей с переменными? Например, заменить дробные значения целыми, умноженными на 1000 или на 1000 000 чтоб наверняка?
в итоге получим примерно 7-8 Гб.
Mantius писал(а):Я тоже изначально это всё представлял как просто набор матриц 250*250, 144*144 и т.д.(делим сторону первой матрицы на корень из 3, округляем в меньшую сторону до целых, получаем сторону следующей матрицы. Последняя матрица имеет размер 2*2.) Но проблема в том, что в таком случае нужна уже четырехмерная матрица 250*250*144*144(т.е. каждому элементу матрицы размера 144*144 соответствует своя матрица размера 250*250, итого 144*144*250*250 элементов).
Vadim писал(а): Для хранения данных наиболее целесообразно использовать какой либо сервер базы данных, т.к. там уже есть все методы занесения и извлечения данных, а так же манипуляций ими.
Есть возможность использовать 64-битную операционку?
Какая специфика использования?
Как происходит доступ?
Обучение "одноразовое" или НС будет постоянно обучатся?
На каких компах все это будет работать?
ЗЫ: крайне не рекомендую для этих целей использовать TStringList'ы и базы данных — у них другое предназначение
Если ты напишешь алгоритм вычисления каждой из функций (F1, F2, F3), то будет найдешь F.
Mantius писал(а):Проще говоря, для теста я брал два вложенных цикла, которые должны были пробежать все элементы массива и каждому из них присвоить даже не рандомное, а просто значение, равное 1. Без всяких функций и т.п.Как вы догадываетесь, даже в таком исполнении, по понятным причинам, ничего не заработало тупо из-за нехватки памяти. Так вот нужно решить этот вопрос, а функции сверху навешать уже не проблема.
Что мешает записать эти данные в файл и обработать описанным выше алгоритмом?
в принципе, возможен вариант того, что просто сесть и один раз обучить сеть, но опять же, при ее работе используются все те же массивы, а вот работать она должна более-менее быстро.
shade писал(а):Кто-нибудь попробует объяснить зачем тут БД?
Logo писал(а):Не получится Вам решить поставленную задачу столь простым методом, ресурсы пока не те.
shade писал(а):Я не очень сильно разбираюсь в нейроных сетях, но если конкретизировать задачу, то быть может я буду готов поспорить, что вы не правы. ...
Не вижу проблемы, будет приемлемо быстро.
Хотя скорость можешь сильно зависеть от кривизны рук.
Причем если иходные данные берутся из файла, то возможно удасться достить той же скорости, как если была бы возможность заргрузить матрицу целиком в память. Если данные берутся с устройства, то тоже не вижу проблем, чтобы достичь той же скорости.
Поищите в гуле технологию octree, может это поможет. Это своего рода упаковка для изображений и я думаю, что для распознавания образов должна подойти.
Тут тоже самое, основная проблема в том, что Mantius изначально пытается загрузить данные в ОП, вместо того, чтобы немного подумать и переделать алгоритм так, чтобы данные можно было обрабатывать по мере чтения их из файла (или считывания их с датчиков).
Распознать образ, - необязательно иметь такого объёма массив.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25