相关疑难解决方法(0)

Keras输入说明:input_shape,units,batch_size,dim等

对于任何Keras层(Layer类),可有人解释如何理解之间的区别input_shape,units,dim,等?

例如,doc说明了units指定图层的输出形状.

在神经网络的图像下面hidden layer1有4个单位.这是否直接转换为对象的units属性Layer?或者units在Keras中,隐藏层中每个权重的形状是否等于单位数?

简而言之,如何理解/可视化模型的属性 - 特别是图层 - 下面的图像? 在此输入图像描述

neural-network deep-learning keras keras-layer tensor

191
推荐指数
2
解决办法
9万
查看次数

未知的初始值设定项:加载Keras模型时的GlorotUniform

我通过谷歌colab训练我的CNN(VGG)并生成.h5文件.现在的问题是,我可以通过谷歌colab成功预测我的输出,但是当我下载.h5训练模型文件并尝试预测我的笔记本电脑上的输出时,我在加载模型时遇到错误.

这是代码:

import tensorflow as tf
from tensorflow import keras
import h5py

# Initialization

loaded_model = keras.models.load_model('./train_personCount_model.h5')
Run Code Online (Sandbox Code Playgroud)

而错误:

ValueError: Unknown initializer: GlorotUniform
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow google-colaboratory

21
推荐指数
4
解决办法
2万
查看次数

Tensorflow - keras model.save()引发NotImplementedError

import tensorflow as tf 

mnist = tf.keras.datasets.mnist 

(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train = tf.keras.utils.normalize(x_train, axis=1)
x_test = tf.keras.utils.normalize(x_test, axis=1)

model = tf.keras.models.Sequential()

model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128,activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(128,activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10,activation=tf.nn.softmax))

model.compile(optimizer ='adam',
            loss='sparse_categorical_crossentropy',
             metrics=['accuracy'])
model.fit(x_train, y_train, epochs=3)
Run Code Online (Sandbox Code Playgroud)

当我试图保存模型时

model.save('epic_num_reader.model')
Run Code Online (Sandbox Code Playgroud)

我得到一个NotImplementedError:

NotImplementedError                       Traceback (most recent call last)
<ipython-input-4-99efa4bdc06e> in <module>()
      1 
----> 2 model.save('epic_num_reader.model')

NotImplementedError: Currently `save` requires model to be a graph network. Consider using `save_weights`, in order to save the weights of the model.
Run Code Online (Sandbox Code Playgroud)

那么如何保存代码中定义的模型呢?

python keras

10
推荐指数
1
解决办法
5713
查看次数

TypeError:无法为深度学习模型腌制弱引用对象

当我运行 pickle.dump(model,open('modelDL.pkl','wb')) 时,我收到 TypeError: can't pickle weakref objects。

我创建了一个深度学习模型,我正在尝试保存它。下面是模型。

model = Sequential()

model.add( Dense(30,activation='relu') )
model.add( Dropout(0.5) ) 
model.add( Dense(20,activation='relu') )
model.add( Dropout(0.5) ) 
model.add( Dense(20,activation='relu') )
model.add( Dropout(0.5) )     
model.add( Dense(1,activation='sigmoid') )

model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy']) 
Run Code Online (Sandbox Code Playgroud)

classification python-3.x deep-learning tf.keras tensorflow2.0

7
推荐指数
1
解决办法
7442
查看次数

如何重新训练/更新keras模型?

如何在不从头开始重新训练的情况下更新/附加新数据到我的模型?我的数据集是图像,输出是预测情绪。

model.fit(x=train_image, y=train_label, epochs=1, batch_size=1)
Run Code Online (Sandbox Code Playgroud)

Model.fit 似乎没有附加我的新数据,而是覆盖模型。我的输出只有一个(我更新的最后一个)。

加载经过训练的 Keras 模型并继续训练

我已经搜索过这个,但效果不佳。

编辑1: 当我们丢失之前训练的数据时我们能做什么。简而言之,我们在训练完成后就丢失了训练数据,并且无法再次取回数据,我们必须保留的是从中完成的学习,并在收到新数据时重新训练模型。

python keras tensorflow

5
推荐指数
1
解决办法
5302
查看次数

如何在keras中修改ModelCheckPoint以监视val_acc和val_loss并相应地保存最佳模型?

ModelCheckPoint提供了分别保存val_Acc和的选项val_loss。我想以某种方式修改它,以便在val_acc改进时->保存模型。如果val_acc等于先前的最佳值,val_acc则检查val_loss,如果val_loss小于先前的最佳值,val_loss则保存模型。

    if val_acc(epoch i)> best_val_acc:
        save model
    else if val_acc(epoch i) == best_val_acc:
        if val_loss(epoch i) < best_val_loss:
           save model
        else
           do not save model
Run Code Online (Sandbox Code Playgroud)

keras tensorflow

2
推荐指数
1
解决办法
2137
查看次数