在Keras运行密集的前馈神经网络.两个输出有class_weights,第三个输出有sample_weights.出于某种原因,它打印出计算的每个批次的进度详细显示,而不是更新与其应该在同一行上的打印...这是否曾经发生在你身上?它是如何修复的?从shell:
42336/747322 [====>.........................] - ETA: 79s - loss: 20.7154 - x1_loss: 9.5913 - x2_loss: 10.0536 - x3_loss: 1.0705 - x1_acc: 0.6930 - x2_acc: 0.4433 - x3_acc: 0.6821
143360/747322 [====>.........................] - ETA: 78s - loss: 20.7387 - x1_loss: 9.6131 - x2_loss: 10.0555 - x3_loss: 1.0702 - x1_acc: 0.6930 - x2_acc: 0.4432 - x3_acc: 0.6820
144384/747322 [====>.........................] - ETA: 78s - loss: 20.7362 - x1_loss: 9.6067 - x2_loss: 10.0608 - x3_loss: 1.0687 - x1_acc: 0.6930 - x2_acc: 0.4429 - x3_acc: 0.6817
145408/747322 …Run Code Online (Sandbox Code Playgroud) 在我之前的问题中,我使用Layer.set_input()Keras ' 将我的Tensorflow预处理输出张量连接到我的Keras模型的输入.但是,此方法已在Keras版本之后删除1.1.1.
如何在较新的Keras版本中实现这一目标?
例:
# Tensorflow pre-processing
raw_input = tf.placeholder(tf.string)
### some TF operations on raw_input ###
tf_embedding_input = ... # pre-processing output tensor
# Keras model
model = Sequential()
e = Embedding(max_features, 128, input_length=maxlen)
### THIS DOESN'T WORK ANYMORE ###
e.set_input(tf_embedding_input)
################################
model.add(e)
model.add(LSTM(128, activation='sigmoid'))
model.add(Dense(num_classes, activation='softmax'))
Run Code Online (Sandbox Code Playgroud) 想象一个完全连接的神经网络,其最后两层具有以下结构:
[Dense]
units = 612
activation = softplus
[Dense]
units = 1
activation = sigmoid
Run Code Online (Sandbox Code Playgroud)
网络的输出值是1,但我想知道sigmoidal函数的输入x是什么(必须是一些高数字,因为sigm(x)在这里是1).
在完成indraforyou的回答后,我设法检索了Keras 图层的输出和权重:
outputs = [layer.output for layer in model.layers[-2:]]
functors = [K.function( [model.input]+[K.learning_phase()], [out] ) for out in outputs]
test_input = np.array(...)
layer_outs = [func([test_input, 0.]) for func in functors]
print layer_outs[-1][0] # -> array([[ 1.]])
dense_0_out = layer_outs[-2][0] # shape (612, 1)
dense_1_weights = model.layers[-1].weights[0].get_value() # shape (1, 612)
dense_1_bias = model.layers[-1].weights[1].get_value()
x = np.dot(dense_0_out, dense_1_weights) + dense_1_bias
print x …Run Code Online (Sandbox Code Playgroud) Tensorflow已经有了答案.但问题是在我的IDE中Conv2D是一个类,而Convolution2D是一个变量?
machine-learning convolution neural-network keras keras-layer
我有一个顺序学习模型的序列,它工作正常,能够预测一些输出.问题是我不知道如何将输出转换回文本序列.
这是我的代码.
from keras.preprocessing.text import Tokenizer,base_filter
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential
from keras.layers import Dense
txt1="""What makes this problem difficult is that the sequences can vary in length,
be comprised of a very large vocabulary of input symbols and may require the model
to learn the long term context or dependencies between symbols in the input sequence."""
#txt1 is used for fitting
tk = Tokenizer(nb_words=2000, filters=base_filter(), lower=True, split=" ")
tk.fit_on_texts(txt1)
#convert text to sequence
t= tk.texts_to_sequences(txt1)
#padding …Run Code Online (Sandbox Code Playgroud) 我对神经网络和keras有点新.我有一些大小为6*7的图像,过滤器的大小为15.我想有几个过滤器并分别训练卷积层,然后将它们组合起来.我在这里看了一个例子:
model = Sequential()
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1],
border_mode='valid',
input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Dropout(0.25))
model.add(Flatten(input_shape=input_shape))
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('tanh'))
Run Code Online (Sandbox Code Playgroud)
此模型适用于一个过滤器.任何人都可以给我一些关于如何修改模型以使用并行卷积层的提示.
谢谢
在Keras中声明输入层时出现此错误消息.
ValueError:通过输入形状为'conv2d_2/convolution'(op:'Conv2D')从1中减去3得到的负尺寸大小:[?,1,28,28],[3,3,28,32].
我的代码是这样的
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28)))
Run Code Online (Sandbox Code Playgroud)
示例应用程序:https://github.com/IntellijSys/tensorflow/blob/master/Keras.ipynb
谁能告诉我在Keras如何进行反向传播?我读到在火炬中非常容易并且在Caffe中很复杂,但我找不到任何与Keras一起做的事情.我正在Keras(一个非常初学者)实现我自己的层,并想知道如何进行向后传播.
先感谢您
我在keras的神经网络模型中使用dropout.一点点代码就好
model.add(Dropout(0.5))
model.add(Dense(classes))
Run Code Online (Sandbox Code Playgroud)
为了测试,我正在使用preds = model_1.predict_proba(image).
但是,虽然测试Dropout也参与预测不应该发生的分数.我搜索了很多来禁用丢失但是没有得到任何提示.
有人有解决方案在keras测试时禁用Dropout吗?
machine-learning neural-network deep-learning keras keras-layer
有没有办法在Keras模型中获得层数(而不是参数)?
model.summary() 信息非常丰富,但从中获取图层数并不简单.
keras ×10
keras-layer ×10
python ×5
tensorflow ×3
convolution ×1
progress-bar ×1
sigmoid ×1
theano ×1