在完成mnist/cifar教程之后,我想我会通过制作我自己的"大"数据来试验张量流,为了简单起见,我选择了一个黑白色的椭圆形状,它可以独立地改变它的高度和宽度. 0.0-1.0比例作为28x28像素图像(其中我有5000个训练图像,1000个测试图像).
我的代码使用'MNIST expert'教程作为基础(缩减速度),但我切换了基于平方误差的成本函数,并根据此处的建议,交换了sigmoid函数用于最终激活层,给定这不是分类,而是两个张量y_和y_conv之间的"最佳拟合".
然而,在超过100k次迭代的过程中,损耗输出迅速进入400到900之间的振荡(或者,因此,在50个批次中,2个标签上的任何给定标签的平均值为0.2-0.3),所以我想我只是得到噪音.也许我错了,但我希望使用Tensorflow来卷积图像,以推断出可能有10个或更多独立标记的变量.我错过了一些基本的东西吗?
def train(images, labels):
# Import data
oval = blender_input_data.read_data_sets(images, labels)
sess = tf.InteractiveSession()
# Establish placeholders
x = tf.placeholder("float", shape=[None, 28, 28, 1])
tf.image_summary('images', x)
y_ = tf.placeholder("float", shape=[None, 2])
# Functions for Weight Initialization.
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1)
return tf.Variable(initial)
def bias_variable(shape):
initial = tf.constant(0.1, shape=shape)
return tf.Variable(initial)
# Functions for convolution and pooling
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
def max_pool_2x2(x):
return …Run Code Online (Sandbox Code Playgroud) 以下是训练DNNRegressor时用于监视事件的代码段。我正在从Jupyter笔记本上运行。
在培训过程中,终端出现以下错误:
tensorflow / core / util / events_writer.cc:162]事件文件/Users/eran/Genie/PNP/TB/events.out.tfevents.1473067505.Eran已消失。E tensorflow / core / util / events_writer.cc:131]无法将2498个事件刷新到/Users/eran/Genie/PNP/TB/events.out.tfevents.1473067505.Eran
def add_monitors():
validation_metrics = {'MeanSquaredError': tf.contrib.metrics.streaming_mean_squared_error}
monitors = learn.monitors.ValidationMonitor(valid_X, valid_y, every_n_steps=50, metrics=validation_metrics)
return [monitors]
regressor = learn.DNNRegressor(model_dir='/Users/eran/Genie/PNP/TB',
hidden_units=[32,16], feature_columns=learn.infer_real_valued_columns_from_input(X),
optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.1),
config=learn.RunConfig(save_checkpoints_secs=1))
monitors = add_monitors()
regressor.fit(X, y, steps=10000, batch_size=20, monitors=monitors)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?打开TensorBoard时我看不到任何事件记录
现在,我正在研究tensorflow。但是,我无法使用张量板绘制点图。
如果我有用于训练的样本数据,像那样
train_X = numpy.asarray([3.3, 4.4, 5.5, 6.71, 6.93, 4.168, 9.779])
train_Y = numpy.asarray([1.7, 2.76, 2.09, 3.19, 1.694, 1.573, 3.366])
Run Code Online (Sandbox Code Playgroud)
我想使用张量板显示散点图。我知道“将matplotlib.pyplot导入为plt”可以做到这一点。但我只能使用控制台(putty)。因此不能使用此方法。
我可以看到点图吗,例如使用张量板的散点图。
谁能帮我?
我正在使用TensorBoard来可视化网络指标和图表.
我创建一个会话sess = tf.InteractiveSession()并在Jupyter笔记本中构建图形.
在图中,我包含两个摘要标量:
with tf.variable_scope('summary') as scope:
loss_summary = tf.summary.scalar('Loss', cross_entropy)
train_accuracy_summary = tf.summary.scalar('Train_accuracy', accuracy)
Run Code Online (Sandbox Code Playgroud)
然后我创建summary_writer = tf.summary.FileWriter(logdir, sess.graph)并运行:
_,loss_sum,train_accuracy_sum=sess.run([...],feed_dict=feed_dict)
我写了指标:
summary_writer.add_summary(loss_sum, i)
summary_writer.add_summary(train_accuracy_sum, i)
Run Code Online (Sandbox Code Playgroud)
我运行代码三次.
每次运行时,我都会重新导入TF并创建一个新的交互式会话.
但是,在Tensorboard中,为每次运行创建一个单独的标量窗口:
此外,如果我检查上次运行的数据,图表似乎是重复的:
每次运行时如何防止重复图形和标量窗口?
当我运行培训时,我的预处理示例已成功创建,但是我的培训没有开始。事实很奇怪,在分析我的TensorBoard图时,我看到一些额外的条件节点,它们在代码中不存在。我想知道这些额外的节点在何处以及为什么会出现,以及为什么培训没有开始。以下是对情况的系统描述:
TensorFlow图
下面的TensorBoard图显示了我的图:
构造此图的代码如下
def getconv2drelu(inputtensor, kernelsize, strides, padding, convname,
imagesummaries=False):
weights = tf.get_variable("weights", shape=kernelsize, dtype=tf.float32,
initializer=tf.truncated_normal_initializer(0,
0.01),
regularizer=tf.nn.l2_loss)
biases = tf.get_variable("biases", shape=kernelsize[3], dtype=tf.float32,
initializer=tf.constant_initializer(0.0))
conv = tf.nn.conv2d(input=inputtensor, filter=weights, strides=strides,
padding=padding, name=convname)
response = tf.nn.bias_add(conv, biases)
if imagesummaries:
filters = (weights - tf.reduce_min(weights)) / (tf.reduce_max(
weights) - tf.reduce_min(weights))
filters = tf.transpose(filters, [3, 0, 1, 2])
tf.summary.image(convname + " filters", filters,
max_outputs=kernelsize[3])
response = tf.nn.relu(response)
activation_summary(response)
return response
def getfullyconnected(inputtensor, numinput, numoutput):
weights = tf.get_variable("weights", shape=[numinput, numoutput],
dtype=tf.float32,
initializer=
tf.truncated_normal_initializer(0, …Run Code Online (Sandbox Code Playgroud) 我在Ubuntu 17.04上使用Keras 2.0(TensorFlow后端)进行二进制图像分类。一切都很好,除了我想看看哪些图像分类错误。我怎么做?
另外,不确定它是否可以解决我的问题,但是在TensorBoard中我无法使用该image选项卡,所以不知道这是否有帮助。
当然,我已经做了很多谷歌搜索,但我只是找不到答案。
tf.metrics.precision_at_thresholds()接受三个参数:labels, predictions, thresholds其中thresholds是[0,1]之间的python列表或阈值元组。然后该函数返回“形状为[len(thresholds)]的浮点张量”,这对于自动将eval_metric_ops绘制到张量板上是有问题的(因为我认为它们应该是标量的)。这些值会很好地打印到控制台,但我也想在张量板上绘制这些值。是否可以进行任何调整以能够在张量板上绘制该值?
我正在使用TensorFlow的Dataset API加载和预处理图像。我想将预处理图像的摘要添加到Tensorboard。
推荐的方法是什么?
到目前为止,我的代码如下所示:
def get_data():
dataset = FixedLengthRecordDataset(...)
dataset = dataset.map(dataset_parser, ...)
if is_training:
dataset = dataset.map(preprocess_for_train, ...)
# Do shuffling, batching...
return dataset
def preprocess_for_train(image, label):
# Do preprocessing...
image = tf.image.random_flip_left_right(image)
# Add summary
tf.summary.image('preprocessed_image', tf.expand_dims(image, 0))
return image, label
Run Code Online (Sandbox Code Playgroud)
在preprocess_for_train我的形象中列出的SUMMARIES集合,而是返回到外部功能时,它是没有图的较长部分。我认为发生这种情况是因为map使用了不同的线程,因此引用了的不同实例tf.Graph。
由于这不起作用,我还需要其他哪些选项才能在Tensorboard中显示图像?
我知道Tensorboard及其强大功能,但我认为带有当前图形摘要的简单控制台输出更好(更快)用于原型设计。也知道我以后能与去年的网络节点,如图只需运行会话生成tensorboard图这里。
我要寻找的是与model.summary()Keras 类似的东西。
换句话说:如何遍历tensorflow图并以相同的顺序仅打印出具有其形状和dtypes的自定义高端层?所有这些层是如何生成的?
我使用tensorflow实现了一个简单的RNN,如下所示:
cell = tf.contrib.rnn.BasicRNNCell(state_size)
cell = tf.contrib.rnn.DropoutWrapper(cell, output_keep_prob=keep_prob)
rnn_outputs, final_state = tf.nn.dynamic_rnn(cell, batch_size, dypte=tf.float32)
Run Code Online (Sandbox Code Playgroud)
这很好用.但是我想将权重变量记录到摘要编写器中.有没有办法做到这一点?
顺便问一下,我们使用tf.nn.rnn_cell.BasicRNNCell或tf.contrib.rnn.BasicRNNCell?还是他们一模一样?
machine-learning neural-network tensorflow recurrent-neural-network tensorboard
tensorboard ×10
tensorflow ×10
keras ×2
api ×1
dataset ×1
graph ×1
python ×1
scatter-plot ×1
summary ×1
ubuntu-17.04 ×1