Python 使用函数生成TF Learn DNN对象

Python 使用函数生成TF Learn DNN对象,python,tensorflow,tflearn,Python,Tensorflow,Tflearn,我在Jupyter笔记本上工作,试图生成一长串TF Learn DNN对象,用于一些蛮力试错测试(我知道这不是最有效的方法,只是想展示一个示例)。数据遵循《泰坦尼克号快速入门教程》 我有一个函数,给定一组参数,它应该返回一个tflearn.DNN()对象: def make_fully_connected(input_shape, output_shape, activation, layers, nodes, dropout, optimizer, loss): tflearn.ini

我在Jupyter笔记本上工作,试图生成一长串TF Learn DNN对象,用于一些蛮力试错测试(我知道这不是最有效的方法,只是想展示一个示例)。数据遵循《泰坦尼克号快速入门教程》

我有一个函数,给定一组参数,它应该返回一个tflearn.DNN()对象:

def make_fully_connected(input_shape, output_shape, activation, layers, nodes, dropout, optimizer, loss):
    tflearn.init_graph()
    net = tflearn.input_data(shape=[None, input_shape])
    for l in range(layers):
        net = tflearn.fully_connected(net, nodes)
        if (dropout != 0) and (l%2==1):
            net = tflearn.dropout(net, dropout)
    net = tflearn.fully_connected(net, output_shape, activation=activation)
    net = tflearn.regression(net, optimizer=optimizer, loss=loss)
    return tflearn.DNN(net)
然后我使用该函数生成一个特定的模型:

model = make_fully_connected(6, 2, 'softmax', 2, 32, 0, 'adam', 'categorical_crossentropy')
model.fit(data, labels, n_epoch=10, batch_size=16, show_metric=True)
score = model.evaluate(data, labels)
但我收到一条可爱的错误消息,它将我带入TF学习代码,我很快就迷路了:

IndexError                                Traceback (most recent call last)
<ipython-input-15-79e1d2acc8bf> in <module>()
      1 model = make_fully_connected(6, 2, 'softmax', 2, 32, 0, 'adam', 'categorical_crossentropy')
----> 2 model.fit(data, labels, n_epoch=10, batch_size=16, show_metric=True)
      3 score = model.evaluate(data, labels)
      4 print('| Score: %.4f' % score, end='')

/usr/local/lib/python3.5/dist-packages/tflearn/models/dnn.py in fit(self, X_inputs, Y_targets, n_epoch, validation_set, show_metric, batch_size, shuffle, snapshot_epoch, snapshot_step, excl_trainops, validation_batch_size, run_id, callbacks)
    181         # TODO: check memory impact for large data and multiple optimizers
    182         feed_dict = feed_dict_builder(X_inputs, Y_targets, self.inputs,
--> 183                                       self.targets)
    184         feed_dicts = [feed_dict for i in self.train_ops]
    185         val_feed_dicts = None

/usr/local/lib/python3.5/dist-packages/tflearn/utils.py in feed_dict_builder(X, Y, net_inputs, net_targets)
    287                 X = [X]
    288             for i, x in enumerate(X):
--> 289                 feed_dict[net_inputs[i]] = x
    290         else:
    291             # If a dict is provided

IndexError: list index out of range
索引器错误回溯(最近一次调用)
在()
1模型=使_完全连接(6,2,'softmax',2,32,0,'adam','Category_crossentropy')
---->2模型拟合(数据、标签、n_历元=10、批次大小=16、显示度量=True)
3分=模型评估(数据、标签)
4打印(“|分数:%.4f%”分数,结束=“”)
/usr/local/lib/python3.5/dist-packages/tflearn/models/dnn.py in fit(self、X\u输入、Y\u目标、n\u历元、验证\u集、显示度量、批量大小、无序排列、快照\u历元、快照\u步骤、排除列车操作、验证\u批量大小、运行id、回调)
181#待办事项:检查大数据和多个优化器对内存的影响
182 feed_dict=feed_dict_生成器(X_输入、Y_目标、自我输入、,
-->183.自我目标)
184 feed_dicts=[feed_dict for i in self.train_ops]
185 val_feed_dicts=无
/feed_dict_builder中的usr/local/lib/python3.5/dist-packages/tflearn/utils.py(X,Y,net_输入,net_目标)
287 X=[X]
288表示枚举(x)中的i,x:
-->289馈送dict[净输入[i]]=x
290其他:
291#如果提供dict
索引器:列表索引超出范围

从函数返回的模型是否超出TF Learn的范围?或者还有其他障碍吗?

尝试重新启动内核,清除输出并再次运行。我也面临着这个问题,这个解决方案对我有效。这是因为您多次运行该模型,但它已崩溃。

尝试重新启动内核,清除输出,然后再次运行它。我也面临着这个问题,这个解决方案对我有效。这是因为您多次运行模型,但它已崩溃。

您指的是什么tf learn?tflearn 0.3;通过PIP安装的版本您指的是什么tf learn?tflearn 0.3;通过pip安装的版本