问题标签 [skflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6542 浏览

python - 在 tensorflow r0.9(skflow)中训练 DNNClassifier 时如何打印进度?

我无法让 DNNClassifier 在训练时打印进度,即损失和验证分数。据我了解,可以使用从 BaseEstimator 继承的配置参数打印损失,但是当我传递一个 RunConfig 对象时,分类器没有打印任何内容。

我错过了什么吗?我检查了 RunConfig 如何处理详细参数,它似乎只关心它是否大于 1,这与文档不匹配:

verbose:控制详细程度,可能的值:0:算法和调试信息静音。1:教练打印进度。2:打印日志设备放置。

至于验证分数,我认为使用monitors.ValidationMonitor就可以了,但是尝试它时,分类器不打印任何东西,尝试使用early_stopping_rounds 时也没有任何反应。我在源代码中搜索文档或一些注释,但找不到任何监视器。

0 投票
1 回答
333 浏览

variables - 如何在 fit/partial_fit 之后操作 skflow 模型的权重?

我正在基于 Tensorflow 的 skflow 库构建多个 DNN 模型。我将数据划分为小批量并使用 partial_fit 进行拟合。在每个 partial_fit 循环之后,我想将 TensorFlowDNNClassifier 模型的前 n 个隐藏层的权重复制到另一个 TensorFlowDNNClassifier 模型。然后使用 partial_fit 继续学习/复制。(两个模型的前 n 个隐藏层的拓扑是相同的。)

我知道如何从分类器 1 中检索权重:

classifier.get_tensor_value('dnn/layer0/Linear/Matrix:0')

但我不知道如何将它们的值复制到分类器2!

用例:

我正在尝试基于 skflow 的 TensorFlowDNNClassifier/TensorFlowDNNRegressor 构建 M DNN 模型的集合。我希望这些 M 模型彼此共享前 n 层。也就是说,相同的输入、架构和价值观. 我想通过对 skflow 的原始代码进行最小的更改来做到这一点。为此,我考虑将我的数据分成小批量,然后一次训练一个小批量的模型。在每个步骤中(使用小批量),我在一个模型上应用 partial_fit 并将其第一个 n 隐藏层的权重复制到集成中的下一个模型。然后我使用相同的小批量对第二个模型进行局部拟合,然后将权重的新值复制到下一个模型。我重复这个训练/复制,直到我到达集合中的最后一个模型。在训练第 M 个模型后,我将其前 n 个隐藏层的权重复制到所有之前的 (M-1) 个模型。然后我对下一个小批量重复此操作,直到所有 M 个模型的权重收敛。

编辑:感谢@Ismael 和@ilblackdragon(通过另一个论坛)的宝贵意见。他们建议的解决方案在模型创建时效果最好。我必须向 TensorFlowEstimator 添加额外的函数,以便我可以在训练时轻松地将权重从一个模型复制到另一个模型(小批量训练的多个步骤)。我将以下函数添加到类TensorFlowEstimator(在文件 estimators/base.py 中定义)

然后,在使用 self.model_fn(self._inp, self._out) 创建模型图后,我将以下几行添加到函数_setup_training中

以及如何使用 getter 和 setter 函数:

0 投票
1 回答
1531 浏览

python - 与使用 scikit 流相比,具有两个隐藏层的 tensorflow DNN 明显慢得多,并且产生的结果要差得多

我的生物数据集有 20K 行和 170 个特征。我正在做 dnn 回归来预测生物活性。(一个带有线性方程的单位输出层和两个隐藏层)。它在我的 cpu 上运行得非常慢,并且产生了非常糟糕的 r-square(负数)。然后我用相同网络架构的 skflow 运行它。它的速度要快得多(超过 100 倍),而且我得到的 r2 比上一次运行(r2=0.3)要好得多,尽管结果不是很好。有谁知道为什么?我的代码有什么问题吗?我的代码和底层 skflow 代码有什么区别?我的损失函数定义正确吗?非常感谢您的帮助。以下是代码:

0 投票
1 回答
571 浏览

python - python error setting an array element with a sequence

I trying to explore different classifier for this example in scikit-learn website http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html. However, the code below produced an error: ValueError: setting an array element with a sequence.

0 投票
1 回答
602 浏览

python - tensorflow 0.9 skflow模型保存和恢复不起作用

我已经在 python3 上将我的 tensorflow 从 0.7 更新到了 0.9。现在我无法使用 skflow(tensorflow.contrib.learn) 恢复我以前保存的模型。这是在 tensorflow 0.7 上工作的示例代码示例。

在 tensorflow 0.9 上,我收到了这个错误。

0 投票
2 回答
583 浏览

save - tensorflow contrib.learn 保存

如何使用新的 contrib.learn 函数(如 contrib.learn.DNNClassifier)保存模型输出?

skflow.TensorFlowDNNClassifier 等已弃用的函数具有 .save 和 .restore 方法。据说这些已迁移到 contrib.learn 函数,但不再有我能找到的保存和恢复方法。

如果您专门创建变量,您可以使用 tf.train.Saver,但是如果您只使用 contrib.learn.DNNClassifier 或 contrib.learn.DNNRegressor 函数,有什么方法可以保存您的图表、权重和偏差?

0 投票
1 回答
888 浏览

tensorflow - DNNClassifier 与 TensorFlowDNNClassifier 相比是否不稳定?

我正在使用 TF v0.9 构建基于 skflow 的 DNN 预测(0 或 1)模型。我的代码TensorFlowDNNClassifier是这样的。我训练了大约 26,000 条记录并测试了 6,500 条记录。

大约需要 1 分钟并得到结果。

但我得到了

所以我简单地更新了我的代码DNNClassifier

它也很好用。但结果不一样。

1的精度提高了。当然这对我来说是一件好事,但为什么会有所改进呢?大约需要2个小时。 这比前面的例子慢了大约 120 倍。

我有什么问题吗?或错过一些参数?或者DNNClassifierTF v0.9 不稳定?

0 投票
1 回答
1240 浏览

tensorflow - tensorflow 学习 - 初始化变量

我在开始使用“tensforflow learn”(以前称为 skflow)时遇到了问题。

我的问题 ?

我什至无法运行最简单的 DNN 示例

下面的示例引发错误

在 jupyter notebook 中,内核突然结束了?

我错过了什么还是一个错误?

PS:我有 tf 版本 9

PS:能否请有足够声誉的人创建标签tensorflow-learn 我很遗憾谷歌已将 skflow 重命名为 tensorflow learn。存在与tflearn库混淆的风险(当然,除非这是故意的。)

谢谢

更新 1

重新启动计算机后,我无法复制错误。对此感到尴尬

更新 2

我想我知道为什么。当您创建第二个 jupyter notebook 会话(或者就此而言,在 cli 上创建第二个 ipython 会话)时会发生错误。

我发布了一个更长的错误字符串,以防它帮助其他人

0 投票
2 回答
760 浏览

python-2.7 - 如何在 tensorflow 学习验证监视器中输入数据?

我试图通过将我的验证集作为 numpy 数组传递来在 skflow 中使用验证监视器。

这是一些重现问题的简单代码(我从提供的 Ubuntu/Linux 64 位二进制文​​件中安装了 tensorflow,启用了 GPU,Python 2.7):

代码运行但只有第一个验证步骤正确完成,然后验证总是返回相同的值,即使训练实际上进行得很好,这可以通过在最后对测试集运行评估来检查。每个验证步骤也会显示以下消息。

欢迎任何帮助!谢谢,大卫

0 投票
2 回答
4972 浏览

frameworks - TF Learn(又名 Scikit Flow)和 TFLearn(又名 TFLearn.org)有什么区别

有两个 TFLearn 项目

这些项目的状态如何,它们将保持独立还是合并在一起?