Почему для этой модели Keras требуется более 6 ГБ памяти?

Кажется, что эта модель Keras требует 6 ГБ + ОЗУ с использованием бэкэнда Tensorflow. Моя математика с обратной связью предполагает, что хранение весов не должно превышать 500 МБ. Что происходит?

from keras.models import Sequential from keras.layers.core import Dense, Activation, Dropout, Flatten from keras.layers.convolutional import Convolution2D, MaxPooling2D IMAGE_SIZE = 128 print('Build model...') model = Sequential() # three color channels, 128x128 # 16 con filters, 3 rows, 3 columns model.add(Convolution2D(16, 3, 3, input_shape=(3, IMAGE_SIZE, IMAGE_SIZE))) model.add(Activation('relu')) model.add(Flatten()) model.add(Dense(1)) model.add(Dense(3 * IMAGE_SIZE * IMAGE_SIZE)) model.compile(loss='mse', optimizer='sgd') 

Это слой свертки (16 3×3 фильтров), подключенный к одному нейрону, а затем этот единственный нейрон подключен к нейронам ~ 50 к.

Я довольно новичок в Keras, поэтому я понимаю, что мое недопонимание довольно фундаментально, но я не могу понять, что это.

One Solution collect form web for “Почему для этой модели Keras требуется более 6 ГБ памяти?”

Оказывается, моя проблема включала путь к CUDA 7.5 в моем LD_CONFIG_PATH , но включала путь к CUDA 7.0 в PATH . По-видимому, эта неудобная комбинация порождает некоторое неопределенное поведение, которое в моем случае вызвало утечку памяти.

Изучив код с valgrind , я обнаружил, что nvcc из 7.0 по сути перепрыгивал в бессмысленные области библиотеки CUDA (7.5), что не является неожиданным. На самом деле это очень удивительно, что он просочился в память, а не просто разбился, и что у Теана была такая же ошибка.

Надеюсь, никто другой не пострадает от этой конкретной проблемы в будущем, но если вы, дважды проверьте свои пути к версии!

На моем локальном компьютере, без установленного Tensorflow GPU'd, я все же получил утечку памяти, которая появилась в результате ошибки в предыдущей версии (0.7.0), которая была разрешена с выпуском (0.7.1). Опять же, я не понял, почему мой бэкенд без использования GPU Theano также вызвал утечку, но после обновления Tensorflow, Theanan-бэкенд также не течет . Это очень странно, но я считаю, что общее решение этой проблемы – «обновление» и «двойная проверка вашего env».

  • Python, почему моя вероятностная нейронная сеть (PNN) всегда предсказывает нули?
  • Как создать набор данных изображений так же, как набор данных MNIST?
  • Неконтролируемый предварительный тренинг для сверточной нейронной сети в анано
  • Как проверить структуру нейронной сети в модели keras?
  • сделать pycaffe фатальной ошибкой: файл «Python.h» не найден
  • Как записать вывод потери Keras в файл
  • Загрузка обученной модели Keras и продолжение обучения
  • XOR не изучен с использованием keras v2.0
  •  
    Interesting Posts for Van-Lav

    Могу ли я получить стек вызовов python с linux perf?

    Линия между текущими реализациями Python и скомпилированными языками

    Django: удалить поле из подкласса Form

    Установка py-ldap на Mac OS X Mavericks (отсутствует sasl.h)

    Django 'RequestContext' не определен – forms.ModelForm

    Создание последовательных буквенно-цифровых номеров

    Анализ CSV-файла в pandas с запятыми в последнем столбце

    Закрепите изображение с помощью нескольких патчей в matplotlib

    Стратегия в Python, когда «стратегия» состоит из более чем одной функции

    Приложение Flask на uwsgi / nginx – файл сокета unix не создается при загрузке

    Как вернуть результат функции, отличной от ее печати?

    Обрезка дендрограммы на уровнях в Scipy Hierarchical Clustering

    Что такое более быстрая операция, re.match / search или str.find?

    Как правильно исключить элементы в словаре до тех пор, пока не останется одна строка

    Возможно ли прокси-сервер Python и сделать работу соединения?

    Python - лучший язык программирования в мире.