草庐IT

python - 如何在 Keras 中正确设置 steps_per_epoch 和 validation_steps?

我已经在Keras中训练了多个模型。我的训练集中有39、592个样本,验证集中有9、899个样本。我使用的批量大小为2。当我检查我的代码时,我突然想到我的生成器可能丢失了一些批处理的数据。这是我的生成器的代码:train_datagen=ImageDataGenerator(rescale=1./255,shear_range=0.2,zoom_range=0.2,horizontal_flip=True)val_datagen=ImageDataGenerator(rescale=1./255)train_generator=train_datagen.flow_from_direc

python - 自动编码器的正则化太强(Keras 自动编码器教程代码)

我正在使用这个关于自动编码器的教程:https://blog.keras.io/building-autoencoders-in-keras.html所有代码都可以正常工作,但是当我为正则化参数(教程代码中定义的参数)设置10e-5时,性能非常差(结果模糊)。事实上,我需要将正则化降低到10e-8以获得正确的输出。我的问题如下:为什么结果和教程差别这么大?同样的数据,同样的参数,没想到差别这么大。我怀疑Keras函数的默认行为已从2016年5月14日起更改(在所有情况下都执行自动批归一化?)。输出使用10e-5正则化(模糊);val_loss在50个时期后为0.2967,在100个时期

python - 如何使用 Keras 摆脱 tensorflow 详细消息

我正在试用tensorflowKeras后端。它不断将这些过于冗长的消息打印到终端,这会破坏probar记录器的输出。比如下面的。h1/2004608/3629568[..............................]-ETA:849s-loss:1.1816Itensorflow/core/common_runtime/gpu/pool_allocator.cc:244]PoolAllocator:After4208getrequests,put_count=4193evicted_count=1000eviction_rate=0.238493andunsatisfie

python - 如何使用从经过训练的 keras 模型中提取的 tensorflow 模型

我想使用keras框架构建和训练神经网络。我将keras配置为使用Tensorflow作为后端。在我用keras训练模型后,我尝试只使用Tensorflow。我可以访问session并获取tensorflow图。但是我不知道如何使用tensorflow图来进行预测。我用下面的教程搭建了一个网络http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/在train()方法中,我仅使用keras构建和训练模型并保存keras和tensorflow模型在eval()方法中这是我的代码:fromke

python - Recurrentshop 和 Keras : multi-dimensional RNN results in a dimensions mismatch error

我对Recurrentshop和Keras有疑问。我正在尝试在循环模型中使用连接和多维张量,但无论我如何安排输入、形状和batch_shape,我都会遇到维度问题。最少的代码:fromkeras.layersimport*fromkeras.modelsimport*fromrecurrentshopimport*fromkeras.layersimportConcatenateinput_shape=(128,128,3)x_t=Input(shape=(128,128,3,))h_tm1=Input(shape=(128,128,3,))h_t1=Concatenate()([x_

python - 将层的一半过滤器设置为不可训练的keras/tensorflow

我正在尝试训练this建议的模型研究论文,其中我将卷积层的一半过滤器设置为Gabor过滤器,其余是默认初始化的随机权重。通常,如果我必须将层设置为不可训练,我将trainable属性设置为False。但在这里我只需要卡住一层的一半过滤器,我不知道该怎么做。任何帮助将非常感激。我正在使用带有Tensorflow后端的Keras。 最佳答案 如何制作两个获得相同输入和(几乎)相同参数的卷积层?因此,其中一层在初始化时可通过随机权重进行训练,而另一层不可通过gabor滤波器进行训练。然后您可以将两个层的输出合并在一起,看起来就像是一个卷积

python - keras 的 Model.train_on_batch 和 tensorflow 的 Session.run([train_optimizer]) 有什么区别?

在下面的神经网络训练的Keras和Tensorflow实现中,keras实现中的model.train_on_batch([x],[y])与sess有何不同。run([train_optimizer,cross_entropy,accuracy_op],feed_dict=feed_dict)在Tensorflow实现中?特别是:这两行如何导致训练中的不同计算?:keras_version.pyinput_x=Input(shape=input_shape,name="x")c=Dense(num_classes,activation="softmax")(input_x)model=

python - Keras - 将 3 channel 图像输入 LSTM

我已经将一系列图像读取到形状为(7338,225,1024,3)的numpy数组中,其中7338是样本大小,225是时间步长,1024(32x32)是扁平图像像素,在3channel(RGB)中。我有一个带有LSTM层的顺序模型:model=Sequential()model.add(LSTM(128,input_shape=(225,1024,3))但这会导致错误:Input0isincompatiblewithlayerlstm_1:expectedndim=3,foundndim=4documentation提到LSTM层的输入张量应该是形状为(batch_size,timest

python - 如何处理预测值的偏移

我在Keras中使用LSTM实现了一个预测模型。数据集间隔15分钟,我预测future的12个步骤。该模型对问题表现良好。但是做出的预测有一个小问题。它显示出小的偏移效果。要获得更清晰的图片,请参见下面的附图。如何处理这个问题。?必须如何转换数据才能处理此类问题。?下面给出了我使用的模型init_lstm=RandomUniform(minval=-.05,maxval=.05)init_dense_1=RandomUniform(minval=-.03,maxval=.06)model=Sequential()model.add(LSTM(15,input_shape=(X.shap

python - 如何使用 AdaBoost 提升基于 Keras 的神经网络?

假设我将以下神经网络拟合为二元分类问题:model=Sequential()model.add(Dense(21,input_dim=19,init='uniform',activation='relu'))model.add(Dense(80,init='uniform',activation='relu'))model.add(Dense(80,init='uniform',activation='relu'))model.add(Dense(1,init='uniform',activation='sigmoid'))#Compilemodelmodel.compile(loss