我用Tensorflow和创造神经网络skflow; 出于某种原因,我想获得给定输入的一些内部张量的值,所以我正在使用myClassifier.get_layer_value(input, "tensorName"),myClassifier作为一个skflow.estimators.TensorFlowEstimator.
但是,我发现很难找到张量名称的正确语法,即使知道它的名字(我在操作和张量之间感到困惑),所以我使用tensorboard绘制图形并查找名称.
有没有办法在不使用张量板的情况下枚举图中的所有张量?
有两个TFLearn项目
TF Learn (aka Scikit Flow)
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/learn/python/learn
Run Code Online (Sandbox Code Playgroud)
和
TFLearn: Deep learning library featuring a higher-level API for TensorFlow.
https://github.com/tflearn/tflearn
Run Code Online (Sandbox Code Playgroud)
这些项目的状态是什么,它们是分开还是合并在一起?
我无法得到DNNClassifier在训练时打印进度,即损失和验证分数.据我所知,可以使用继承自BaseEstimator的config参数打印丢失,但是当我传递RunConfig对象时,分类器没有打印任何内容.
from tensorflow.contrib.learn.python.learn.estimators import run_config
config = run_config.RunConfig(verbose=1)
classifier = learn.DNNClassifier(hidden_units=[10, 20, 10],
n_classes=3,
config=config)
classifier.fit(X_train, y_train, steps=1000)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我检查了RunConfig如何处理详细参数,它似乎只关心它是否大于1,这与文档不匹配:
verbose:控制详细程度,可能的值:0:算法和调试信息被静音.1:培训师打印进度.2:打印日志设备放置.
至于验证分数,我认为使用monitors.ValidationMonitor会很好,但是当尝试它时,分类器不会打印任何东西,尝试使用early_stopping_rounds时也没有任何反应.我在源代码中搜索文档或一些注释,但我找不到任何监视器.
我对tensorflow相对较新,并希望使用tf.contrib.learn中的DNNRegressor进行回归任务.但是,我想要有几个(例如十个),而不是一个输出节点.
如何配置我的回归器以调整许多输出节点以满足我的需求?
我的问题与已经在SO上提出的以下问题有关,但似乎没有可行的答案(我使用的是TensorFlow版本0.11)
我正在尝试预测时间序列:给定50个先前的值,我想预测下5个值.
为此,我正在使用该skflow包(基于TensorFlow),这个问题与Github repo中提供的Boston示例相对接近.
我的代码如下:
%matplotlib inline
import pandas as pd
import skflow
from sklearn import cross_validation, metrics
from sklearn import preprocessing
filepath = 'CSV/FILE.csv'
ts = pd.Series.from_csv(filepath)
nprev = 50
deltasuiv = 5
def load_data(data, n_prev = nprev, delta_suiv=deltasuiv):
docX, docY = [], []
for i in range(len(data)-n_prev-delta_suiv):
docX.append(np.array(data[i:i+n_prev]))
docY.append(np.array(data[i+n_prev:i+n_prev+delta_suiv]))
alsX = np.array(docX)
alsY = np.array(docY)
return alsX, alsY
X, y = load_data(ts.values)
# Scale data to 0 mean and unit std dev.
scaler …Run Code Online (Sandbox Code Playgroud) 我已经使用pip install构建了v0.8.0的tensorflow,但是当我尝试任何skflow示例时,它们都因为
AttributeError: 'module' object has no attribute 'datasets'
Run Code Online (Sandbox Code Playgroud)
这就是结果
from tensorflow.contrib import learn
### Training data
# Downloads, unpacks and reads DBpedia dataset.
dbpedia = learn.datasets.load_dataset('dbpedia')
Run Code Online (Sandbox Code Playgroud) 我按照Tensorflow 阅读数据指南以TFRecords的形式获取我的应用程序数据,并在输入管道中使用TFRecordReader来读取此数据.
我现在正在阅读使用skflow/tf.learn构建简单回归器的指南,但我看不到如何使用这些工具使用我的输入数据.
在以下代码中,应用程序在regressor.fit(..)通话时失败ValueError: setting an array element with a sequence..
错误:
Traceback (most recent call last):
File ".../tf.py", line 138, in <module>
run()
File ".../tf.py", line 86, in run
regressor.fit(x, labels)
File ".../site-packages/tensorflow/contrib/learn/python/learn/estimators/base.py", line 218, in fit
self.batch_size)
File ".../site-packages/tensorflow/contrib/learn/python/learn/io/data_feeder.py", line 99, in setup_train_data_feeder
return data_feeder_cls(X, y, n_classes, batch_size)
File ".../site-packages/tensorflow/contrib/learn/python/learn/io/data_feeder.py", line 191, in __init__
self.X = check_array(X, dtype=x_dtype)
File ".../site-packages/tensorflow/contrib/learn/python/learn/io/data_feeder.py", line 161, in check_array
array = np.array(array, dtype=dtype, order=None, copy=False)
ValueError: …Run Code Online (Sandbox Code Playgroud) 是否可以使用没有标记输入(或输出)节点的Tensorflow C++ API执行图形?据我所知,在训练我的模型时(在python中使用skflow,我后来将其保存为二进制protobuf),我没有标记输入/输出节点,但我能够恢复模型并毫无困难地进行预测在Python中.当使用C++ API执行图形时,输入向量是字符串和张量对,其中我假设字符串是指输入节点的标签.来自文档:
Run Code Online (Sandbox Code Playgroud)Session::Run(const std::vector< std::pair< string, Tensor > > &inputs, const std::vector< string > &output_tensor_names, const std::vector< string > &target_node_names, std::vector< Tensor > *outputs)=0使用提供的输入张量运行图形,并填充output_tensor_names中指定的端点的输出.运行但不返回target_node_names中节点的Tensors.
有没有办法在不知道输入/输出节点标签的情况下执行图形?也许有一种方法可以在Python中加载图形,给出节点标签,然后再将其保存为protobuf?理想情况下,我想传入一个应用于输入节点的向量,而不必担心任何标签.