我有一个训练有素的模型,该模型model.fit()
用于model.save()
将其保存在物理文件中。现在,我有另一个数据集,我想在该数据集上继续使用保存的模型进行训练。但是,我发现每次fit()
通话都被认为是全新的培训。这意味着,它正在重新初始化之前生成并保存的权重。
当我fit()
以纪元0进行调用时,我看不到权重重置问题。但是,我绝对想尝试> 0。
我在这里错过了什么吗,还是Keras的问题。
Keras版本:2.0.3
谢谢。
machine-learning neural-network deep-learning keras tensorflow
我正在训练一个深度学习模型,但准确率很低,但损失也很低,这两者成反比。导致这种非常低的准确度的原因是什么,我该如何阻止它?
该模型应检测视频场景中的异常事件
我用来构建模型的研究论文的链接
https://arxiv.org/abs/1604.04574
这是我的代码:
model = Sequential()
model.add(TimeDistributed(Convolution2D(512, 11, 11 ,activation='relu' , border_mode='valid', subsample = (4,4))
, input_shape=(10,231, 231, 1)))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=None, border_mode='valid')))
model.add(TimeDistributed(Convolution2D(256,5, 5,activation='relu' , border_mode='same')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=None, border_mode='valid')))
model.add(TimeDistributed(Convolution2D(128,3,3,activation='relu' , border_mode='same'))),
model.add(TimeDistributed(Conv2DTranspose(128, 3,3,border_mode='same')))
model.add(TimeDistributed(UpSampling2D(size=(2, 2, ))))
model.add(TimeDistributed(Conv2DTranspose(256, 3,3,border_mode='same')))
model.add(TimeDistributed(UpSampling2D(size=(2, 2, ))))
model.add(TimeDistributed(Conv2DTranspose(512,5,5,border_mode='same')))
model.add(TimeDistributed(Conv2DTranspose(1, kernel_size=(11,11),strides=(4,4))))
Run Code Online (Sandbox Code Playgroud) 我正在尝试自动确定Keras自动编码器何时收敛。例如,在“让我们构建尽可能简单的自动编码器”下查看此链接。时期数被硬编码为50(损失值收敛时)。但是,如果您不知道数字为50,您将如何使用Keras对此进行编码?您可以继续打电话fit()
吗?
machine-learning neural-network autoencoder deep-learning keras
我正在尝试使用自定义损失函数进行对象分割,如下所示:
def chamfer_loss_value(y_true, y_pred):
# flatten the batch
y_true_f = K.batch_flatten(y_true)
y_pred_f = K.batch_flatten(y_pred)
# ==========
# get chamfer distance sum
// error here
y_pred_mask_f = K.cast(K.greater_equal(y_pred_f,0.5), dtype='float32')
finalChamferDistanceSum = K.sum(y_pred_mask_f * y_true_f, axis=1, keepdims=True)
return K.mean(finalChamferDistanceSum)
def chamfer_loss(y_true, y_pred):
return chamfer_loss_value(y_true, y_pred)
Run Code Online (Sandbox Code Playgroud)
y_pred_f
是我的U-net的结果.y_true_f
是地面真实标签掩码上的欧氏距离变换的结果,x
如下所示:
distTrans = ndimage.distance_transform_edt(1 - x)
Run Code Online (Sandbox Code Playgroud)
为了计算距离倒角,则相乘的预测图像(理想地,与1和0掩模)与地面实况距离变换,并简单地总结在所有像素.要做到这一点,我需要y_pred_mask_f
通过阈值处理获得一个掩码y_pred_f
,然后乘以y_true_f
,并对所有像素求和.
y_pred_f
在[0,1]中提供连续的值范围,我None type not supported
在评估时得到误差y_true_mask_f
.我知道损失函数必须是可微,且greater_equal
和cast
都没有.但是,在克拉斯有没有办法规避这个?也许在Tensorflow中使用一些解决方法?
machine-learning neural-network deep-learning keras tensorflow
当我在模型中运行功能性API进行k折交叉验证时,在每次折叠的返回拟合模型中,命名密集层的数字都会增加。就像在第一折中一样dense_2_acc
,然后在第二折中dense_5_acc
。
通过我的模型摘要显示我的模型是正确的。为什么要更改history
每个折叠的拟合模型对象中的名称?
我正在尝试修改此处可用的keras示例pretrained_word_embeddings,我遇到了以下问题:如果我将MAX_SEQUENCE_LENGTH
varibae 减少为例如95
值,则会出现以下错误:
回溯(最近一次调用最后一次):文件"C:\ Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\common_shapes.py",第670行,_call_cpp_shape_fn_impl状态)文件"C:\ Program Files\Anaconda3\lib\contextlib.py",第66行,在exit next(self.gen)文件"C:\ Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py",第469行, in raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(status))tensorflow.python.framework.errors_impl.InvalidArgumentError:通过输入形状为'Conv2D_2'(op:'Conv2D')从2减去5引起的负维度大小:[?,2,1,128] ,[5,1,128,128].
我需要更改它以防万一我需要使用像推文这样的小消息.我使用Tensorflow后端.
请帮我澄清1)有什么问题MAX_SEQUENCE_LENGTH
?2)Conv2D_2
跟踪的原因是什么,而不是我Conv1D
在模型中使用的原因.
machine-learning neural-network conv-neural-network keras tensorflow
我想知道dropout是如何工作的,所以我进入了layers.core模块并将dropout调用从in_train_phase更改为in_test_phase.
我不确定我的更改是否对狡猾的辍学行为负责,所以请耐心等待.
现在将这些更改记在下面的代码片段中:
from keras.models import Model
from keras.layers import Dropout, Input
import numpy as np
import tensorflow as tf
from keras import initializers
x=np.ones((2,2,4))
# x[:,1,:] = 1
print(x)
from keras.layers import Dense
input = Input(name='atom_inputs', shape=(2, 4))
x1 = Dense(4, activation='linear',
kernel_initializer=initializers.Ones(),
bias_initializer='zeros')(input)
x1 = Dropout(0.5, noise_shape=(tf.shape(input)[0], 1, 4))(x1)
fmodel = Model(input, x1)
fmodel.compile(optimizer='sgd', loss='mse')
print(fmodel.predict(x))
Run Code Online (Sandbox Code Playgroud)
将根据辍学率产生不同的预测.
例如:
Dropout(0.2)
[[[5. 5. 5. 5.]
[5. 5. 5. 5.]]
[[5. 0. 5. 0.]
[5. 0. 5. 0.]]]
Dropout(0.5)
[[[0. 0. …
Run Code Online (Sandbox Code Playgroud) 我想为作为参数传递的 Python 类型正确添加类型。例如,假设我们想向以下函数添加类型:
def do_something_based_on_types(
...
type_name: str,
str_to_type_mapping: Dict[str, Any], # what instead of Any?
):
...
object = str_to_type_mapping[type_name]()
...
Run Code Online (Sandbox Code Playgroud)
我们希望传递一个映射到str
类型,基于该映射我们希望构造选定类的对象。对于这种情况,正确的类型是什么(而不是Any
在代码示例中使用)。
我正致力于LSTM神经网络的实施,用于序列分类.我想用以下参数设计一个网络:
n
热矢量序列.我需要在CNTK中实现它,但我很难,因为它的文档编写得不是很好.有人可以帮助我吗?
machine-learning neural-network lstm recurrent-neural-network cntk
我对以下日志有点怀疑,我在训练深度神经网络时得到-1.0和1.0之间的回归目标值,学习率为0.001和19200/4800训练/验证样本:
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
cropping2d_1 (Cropping2D) (None, 138, 320, 3) 0 cropping2d_input_1[0][0]
____________________________________________________________________________________________________
lambda_1 (Lambda) (None, 66, 200, 3) 0 cropping2d_1[0][0]
____________________________________________________________________________________________________
lambda_2 (Lambda) (None, 66, 200, 3) 0 lambda_1[0][0]
____________________________________________________________________________________________________
convolution2d_1 (Convolution2D) (None, 31, 98, 24) 1824 lambda_2[0][0]
____________________________________________________________________________________________________
spatialdropout2d_1 (SpatialDropo (None, 31, 98, 24) 0 convolution2d_1[0][0]
____________________________________________________________________________________________________
convolution2d_2 (Convolution2D) (None, 14, 47, 36) 21636 spatialdropout2d_1[0][0]
____________________________________________________________________________________________________
spatialdropout2d_2 (SpatialDropo (None, 14, 47, 36) 0 convolution2d_2[0][0]
____________________________________________________________________________________________________
convolution2d_3 (Convolution2D) (None, 5, 22, 48) …
Run Code Online (Sandbox Code Playgroud) 我正在寻找神经网络优化中的4种最佳算法。我需要名称和任何描述,学习方法和拓扑结构对我很有帮助。我认为多层感知器(MLP)是其中之一,但我不确定。
谢谢你们。
neural-network ×10
keras ×8
python ×5
tensorflow ×4
autoencoder ×1
cntk ×1
keras-layer ×1
lstm ×1
model ×1
optimization ×1
typing ×1