Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 1,032

Зависает после повторного расчета

15.05.2023, 16:38. Показов 1200. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Провожу эксперименты с нейронными сетями, а именно с автоэнкодером.

Есть такая часть скрипта
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
stacked_encoder = Sequential([
    Flatten(input_shape=[lenght_axis1,lenght_axis2,lenght_axis3]),
    Dense(100, activation="selu"),
    Dense(10, activation="selu"),
])
 
stacked_encoder.summary()
 
stacked_decoder = Sequential([
    Dense(100, activation="selu", input_shape=[10]),
    Dense(331776, activation="sigmoid"),
    Reshape([lenght_axis1,lenght_axis2,lenght_axis3])
])
stacked_decoder.summary()
 
stacked_ae = Sequential([stacked_encoder, stacked_decoder])
stacked_ae.summary()

Когда в Jupiter Notebook запускаешь в первый раз этот скрипт, то норм работает. Но когда запускаешь во второй раз - компьютер висит и приходится перезагружать. Как понимаю нужно настроить параметры памяти.

Как тут можно настроить, чтобы компьютер не зависал?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2023, 16:38
Ответы с готовыми решениями:

Не очищаются textBrowser после повторного нажатия на кнопку
не очищаются textBrowser после повторного нажатия на кнопку, кусок кода: def f4(): text = str(ui.comboBox.currentText()) ...

После того как приложение было убито системой после его повторного вызова оно крашится
Привет! Не могу понять найти причину почему мое приложение после того как оно было убито системой после его повторного запуска из истории...

Ломается сцена после повторного запуска
В общем есть три сцены: Меню, Игра, Выбор скина. При запуске сцены "Выбор скина" по такому сценарию Меню - игра - меню - выбор скина....

6
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
16.05.2023, 06:31
Цитата Сообщение от MConst Посмотреть сообщение
Есть такая часть скрипта
И что с ней делать? Если хотите, что бы вам как-то помогли, выкладывайте заведомо рабочий код, с импортами и всем прочим.
Цитата Сообщение от MConst Посмотреть сообщение
Но когда запускаешь во второй раз - компьютер висит и приходится перезагружать.
Запустите не в Jupyter, а в IDE. Запустите отладчик, в чем проблема?
1
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 1,032
16.05.2023, 17:30  [ТС]
Цитата Сообщение от u235 Посмотреть сообщение
Если хотите, что бы вам как-то помогли, выкладывайте заведомо рабочий код, с импортами и всем прочим.
Запускал в PyCharm и там зависает.

Вот код. Добавил еще 2 слоя.

Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import matplotlib.pyplot as plt
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Flatten, Dense, Reshape
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.metrics import binary_accuracy
from tensorflow.math import round
 
if __name__ == '__main__':
    img_origin = plt.imread(r'...') #Размер изображения (311, 653, 3)
 
    new_height, new_width = 288, 384
    new_stride = 4
 
    dataSet = np.lib.stride_tricks.sliding_window_view(img_origin, window_shape=(new_height, new_width, 3))[
              ::new_stride, ::new_stride, :, :, :, :].reshape(-1, new_height, new_width, 3)
    
    dataSet_norm =  (dataSet/255.0 * 0.99) + 0.01  - 0.5
 
    border = int(dataSet_norm.shape[0] * 0.8)
    x_train = dataSet_norm[:border]
    x_test  = dataSet_norm[border:]
 
    def rounded_accuracy(y_true, y_pred):
        return binary_accuracy(round(y_true), round(y_pred))
 
    #Зависает тут
    #----------------------------------------------------------------------------------
    stacked_encoder = Sequential([
        Flatten(input_shape=[dataSet.shape[1], dataSet.shape[2], 3]),
        Dense(1000, activation="selu"),
        Dense(100, activation="selu"),
        Dense(10, activation="selu"),
    ])
 
    stacked_encoder.summary()
 
    stacked_decoder = Sequential([
        Dense(100, activation="selu", input_shape=[10]),
        Dense(1000, activation="selu"),
        Dense(dataSet.shape[1] * dataSet.shape[2] * 3, activation="sigmoid"),
        Reshape([dataSet.shape[1], dataSet.shape[2], 3])
    ])
    stacked_decoder.summary()
 
    stacked_ae = Sequential([stacked_encoder, stacked_decoder])
    stacked_ae.summary()
    #----------------------------------------------------------------------------------
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
17.05.2023, 05:58
MConst, Зависает, видимо не хватает памяти. Само описание проблемы (утечка памяти) и методы ее решения тут: https://github.com/tensorflow/... sues/30324
0
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 1,032
18.05.2023, 09:57  [ТС]
Добавил
Python
1
2
3
4
5
6
7
8
9
10
11
12
...
from tensorflow.keras import backend
 
if __name__ == '__main__':
    ...
 
    backend.clear_session()
 
    #Зависает тут
    #----------------------------------------------------------------------------------
    stacked_encoder = Sequential([
    ...
Все также.
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
18.05.2023, 11:02
MConst, там еще был совет вызывать gc вручную..
0
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 1,032
18.05.2023, 12:45  [ТС]
Не помогает.

Зависает чаще всего именно в этом месте:
Python
1
2
3
4
5
6
stacked_decoder = Sequential([
    Denсse(100, activation="selu", input_shape=[10]),
    Dense(1000, activation="selu"),
    Dense(dataSet.shape[1] * dataSet.shape[2] * 3, activation="sigmoid"),
    Reshape([dataSet.shape[1], dataSet.shape[2], 3])
])
И такой вопрос. Можно ли для блока кода сделать перехват, если превышение памяти, то сбрасывает выполнение? У tensorflow есть такая возможность?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2023, 12:45
Помогаю со студенческими работами здесь

Не работает поток после повторного запуска
Добрый день. Имеется программа, которая определяет простоту больших чисел (30 знаков и более). Чтобы программа не зависала, я вношу...

Ошибка после повторного запуска потока
Привет всем, решил попробовать себя в потоках но как-то не получилось. Проблема заключается в том что при первом нажатии на кнопку все...

Освобождение массива после повторного объявления
Здравствуйте. есть такие строки... int arr = new int; //что-то делаю с массивом //массив мне стал не нужен arr = new int; ...

Применить условие после повторного открытия формы
Всем доброе утро! Вопрос.:) Есть у меня реквизит Разрешён в документе типа Булево. Нужно сделать так - только пользователь с...

Программа виснет после повторного нажатия на кнопку
Здравствуйте, подскажите пожалуйста в чем дело. Имеется данный код, который работает, но после повторного нажатия на кнопку (Button1)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru