我试图在循环中训练1000x的Sequential模型.在每个循环中,我的程序都会泄漏内存,直到我用完并获得OOM异常.
之前我已经问了一个类似的问题(连续训练多个连续模型减速)
并且看到其他类似的问题(Keras:进行超参数网格搜索时内存不足)
并且在K.clear_session()使用完模型后,解决方案始终是添加到代码中.所以我在上一个问题中做到了这一点,我仍在泄露记忆
这是重现问题的代码.
import random
import time
from keras.models import Sequential
from keras.layers import Dense
from keras import backend as K
import tracemalloc
def run():
tracemalloc.start()
num_input_nodes = 12
num_hidden_nodes = 8
num_output_nodes = 1
random_numbers = random.sample(range(1000), 50)
train_x, train_y = create_training_dataset(random_numbers, num_input_nodes)
for i in range(100):
snapshot = tracemalloc.take_snapshot()
for j in range(10):
start_time = time.time()
nn = Sequential()
nn.add(Dense(num_hidden_nodes, input_dim=num_input_nodes, activation='relu'))
nn.add(Dense(num_output_nodes))
nn.compile(loss='mean_squared_error', optimizer='adam')
nn.fit(train_x, train_y, nb_epoch=300, batch_size=2, verbose=0) …Run Code Online (Sandbox Code Playgroud) 我正在使用 Amazon Neptune 创建和查询一个简单的图形数据库。我目前正在 AWS Jupyter Notebook 中运行我的代码,但最终会将代码移至 Python (gremlin_python)。正如您可能猜到的那样,我对 Gremlin 和一般图形数据库很陌生。
我有以下数据
g.addV('person').property(id, 'john')
.addV('person').property(id, 'jim')
.addV('person').property(id, 'pam')
.addV('game').property(id, 'G1')
.addV('game').property(id, 'G2')
.addV('game').property(id, 'G3').iterate()
g.V('john').as('p').V('G1').addE('bought').from('p').iterate()
g.V('john').as('p').V('G2').addE('bought').from('p').iterate()
g.V('john').as('p').V('G3').addE('bought').from('p').iterate()
g.V('jim').as('p').V('G1').addE('bought').from('p').iterate()
g.V('jim').as('p').V('G2').addE('bought').from('p').iterate()
g.V('pam').as('p').V('G1').addE('bought').from('p').iterate()
Run Code Online (Sandbox Code Playgroud)
数据库中有 3 个人和 3 个游戏。我的目标是,给定一个人,告诉我哪些人购买了与他们相同的游戏,哪些游戏是那些
查看示例代码(主要来自https://tinkerpop.apache.org/docs/current/recipes/#recommendation)后,我有以下代码尝试查找由以下用户购买的游戏
g.V('john').as('target') Target person we are interested in comparing against
.out('bought').aggregate('target_games') // Games bought by target
.in('bought').where(P.neq('target')).dedup() // Persons who bought same games as target (excluding target and without duplicates)
.group().by().by(out("bought").where(P.within("target_games")).count()) // Find persons, group by number of co owned games
.unfold().order().by(values, …Run Code Online (Sandbox Code Playgroud)