我正在研究Keras中的分段问题,我希望在每个训练时代结束时显示分段结果.
我想要一些类似于Tensorflow:如何在Tensorboard中显示自定义图像(例如Matplotlib Plots),但使用Keras.我知道Keras有TensorBoard回调但看起来似乎有限.
我知道这会破坏Keras的后端抽象,但无论如何我对使用TensorFlow后端感兴趣.
是否有可能通过Keras + TensorFlow实现这一目标?
目前还不清楚是什么metrics(如下面的代码所示).他们究竟在评估什么?为什么我们需要在model?中定义它们?为什么我们可以在一个模型中拥有多个指标?更重要的是,这背后的机制是什么?任何科学参考也值得赞赏.
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=['mae', 'acc'])
Run Code Online (Sandbox Code Playgroud) 我尝试熟悉Q-learning和Deep Neural Networks,目前尝试使用Deep Reinforcement Learning实现Play Atari.
为了测试我的实现并玩它,我试着尝试一个简单的gridworld.我有一个N x N网格,从左上角开始,在右下角结束.可能的操作是:向左,向上,向右,向下.
即使我的实现与此非常相似(希望它是一个好的),它似乎似乎没有学到任何东西.看看它需要完成的总步数(我猜平均值将达到500,网格大小为10x10,但也有非常低和高的值),它对我来说比其他任何东西都更随机.
我尝试使用和不使用卷积层并使用所有参数,但说实话,我不知道我的实现是否有问题或需要更长时间训练(我让它训练了很长时间)或者什么永远.但至少它接缝会聚,这里是一个训练课程的损失值的情节:
那么这种情况下的问题是什么?
但也可能更重要的是我如何"调试"这个Deep-Q-Nets,在监督培训中有训练,测试和验证集,例如精确和召回,可以对它们进行评估.对于使用Deep-Q-Nets的无监督学习,我有哪些选择,以便下次我可以自己修复它?
最后这里是代码:
这是网络:
ACTIONS = 5
# Inputs
x = tf.placeholder('float', shape=[None, 10, 10, 4])
y = tf.placeholder('float', shape=[None])
a = tf.placeholder('float', shape=[None, ACTIONS])
# Layer 1 Conv1 - input
with tf.name_scope('Layer1'):
W_conv1 = weight_variable([8,8,4,8])
b_conv1 = bias_variable([8])
h_conv1 = tf.nn.relu(conv2d(x, W_conv1, 5)+b_conv1)
# Layer 2 Conv2 - hidden1
with tf.name_scope('Layer2'):
W_conv2 = weight_variable([2,2,8,8])
b_conv2 = bias_variable([8])
h_conv2 = tf.nn.relu(conv2d(h_conv1, W_conv2, 1)+b_conv2) …Run Code Online (Sandbox Code Playgroud) 我在看InceptionV3(GoogLeNet)架构,无法理解为什么我们需要conv1x1层?
我知道卷积是如何工作的,但我看到补丁大小> 1的利润.
convolution neural-network deep-learning conv-neural-network tensorflow
什么是如何将TensorFlow TFRecord与Keras模型和tf.session.run()一起使用,同时将数据集保存在具有队列运行程序的张量中?
以下是一个可行的代码段,但需要进行以下改进:
这是片段,有几条TODO线表明需要什么:
from keras.models import Model
import tensorflow as tf
from keras import backend as K
from keras.layers import Dense, Input
from keras.objectives import categorical_crossentropy
from tensorflow.examples.tutorials.mnist import input_data
sess = tf.Session()
K.set_session(sess)
# Can this be done more efficiently than placeholders w/ TFRecords?
img = tf.placeholder(tf.float32, shape=(None, 784))
labels = tf.placeholder(tf.float32, shape=(None, 10))
# TODO: Use Input()
x = Dense(128, activation='relu')(img)
x = Dense(128, activation='relu')(x)
preds = Dense(10, activation='softmax')(x)
# TODO: …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用TensorFlow处理图像分割中未标记的图像部分.例如,我的输入是高度*宽度*通道的图像.标签尺寸高度*宽度太大,每个像素都有一个标签.
图像的某些部分是注释的,其他部分则没有.我希望这些部分对梯度计算没有任何影响.此外,我对网络预测这个"无效"标签不感兴趣.
这有标签或功能吗?目前我正在使用tf.nn.sparse_softmax_cross_entropy_with_logits.
python neural-network image-segmentation deep-learning tensorflow
在tensorflow 1.4中,我发现了两个执行批量规范化的函数,它们看起来相同:
我应该使用哪种功能?哪一个更稳定?
python neural-network deep-learning tensorflow batch-normalization
我在keras中训练模型时使用以下代码
from keras.callbacks import EarlyStopping
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(1))
model_2.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
model.fit(X, y, epochs=15, validation_split=0.4, callbacks=[early_stopping_monitor], verbose=False)
model.predict(X_test)
Run Code Online (Sandbox Code Playgroud)
但是最近我想得到保存最好的训练模型,因为我训练的数据在"高val_loss vs epochs"图中给出了很多高峰,我想从模型中使用最好的一个.
是否有任何方法或功能可以帮助解决这个问题?
我正在研究 seq2seq keras/tensorflow 2.0 模型。每次用户输入内容时,我的模型都会完美地打印响应。但是在每个回复的最后一行我得到这个:
你:警告:tensorflow:你的输入数据用完了;中断训练。确保您的数据集或生成器至少可以生成
steps_per_epoch * epochs批次(在本例中为 2 个批次)。在构建数据集时,您可能需要使用 repeat() 函数。
“你:”是我的最后一个输出,在用户应该输入新的东西之前。模型工作得很好,但我想没有错误是好的,但我不太明白这个错误。它说“中断训练”,但是我没有在训练任何东西,这个程序加载了一个已经训练好的模型。我想这就是错误没有停止程序的原因?
如果有帮助,我的模型如下所示:
intent_model = keras.Sequential([
keras.layers.Dense(8, input_shape=[len(train_x[0])]), # input layer
keras.layers.Dense(8), # hidden layer
keras.layers.Dense(len(train_y[0]), activation="softmax"), # output layer
])
intent_model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])
intent_model.fit(train_x, train_y, epochs=epochs)
test_loss, test_acc = intent_model.evaluate(train_x, train_y)
print("Tested Acc:", test_acc)
intent_model.save("models/intent_model.h5")
Run Code Online (Sandbox Code Playgroud) deep-learning ×10
tensorflow ×7
python ×6
keras ×5
caffe ×1
convolution ×1
keras-layer ×1
q-learning ×1
tensorboard ×1