keras 的 example 文件 mnist_transfer_cnn.py 解析

本代码介绍了迁移学习,也就是在一个数据集上训练完成后,在另一个数据集上,部分网络层配置为不可训练,仅对部分网络进行训练

本代码的神经网络结构为:

______________________________________________________________________
Layer (type)                   Output Shape                Param #
======================================================================
conv2d_1 (Conv2D)              (None, 26, 26, 32)          320
______________________________________________________________________
activation_1 (Activation)      (None, 26, 26, 32)          0
______________________________________________________________________
conv2d_2 (Conv2D)              (None, 24, 24, 32)          9248
______________________________________________________________________
activation_2 (Activation)      (None, 24, 24, 32)          0
______________________________________________________________________
max_pooling2d_1 (MaxPooling2D) (None, 12, 12, 32)          0
______________________________________________________________________
dropout_1 (Dropout)            (None, 12, 12, 32)          0
______________________________________________________________________
flatten_1 (Flatten)            (None, 4608)                0
______________________________________________________________________
dense_1 (Dense)                (None, 128)                 589952
______________________________________________________________________
activation_3 (Activation)      (None, 128)                 0
______________________________________________________________________
dropout_2 (Dropout)            (None, 128)                 0
______________________________________________________________________
dense_2 (Dense)                (None, 5)                   645
______________________________________________________________________
activation_4 (Activation)      (None, 5)                   0
======================================================================
Total params: 600,165
Trainable params: 600,165
Non-trainable params: 0
______________________________________________________________________

 

代码是先训练mnist中的 0~4 的数据集,对其进行识别,训练出一个常规的卷积神经网络的分类,

然后将该神经网络中的卷积层的可训练属性配置为FALSE,也就是不可训练,然后采用 5~9 的数据集进行训练,也就是只训练全连接层,然后发现效果不错,训练速度可以大大提升

比如在我电脑上,6G显存,在训练 0~4 的数据集时,大致训练了 11 秒,而在训练 5~9 时,虽然数据集大小一样,训练次数一致,但仅用了大概 5 秒的时间,而且识别率可以达到 99% 左右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示是在Python中出现的,意思是在某个文件的 "__init__.py" 中无法找到名为 "keras" 的引用。这通常是因为代码中使用了某个名为 "keras" 的库或模块,但是该库或模块没有正确安装或导入。 要解决这个问题,可以尝试以下几个步骤: 1. 确保已经安装了名为 "keras" 的库或模块。可以使用命令行工具或包管理器来安装它,例如: pip install keras。 2. 检查代码中是否正确导入了 "keras" 库或模块。导入语句通常写在代码文件的开头,例如: import keras。 3. 检查是否有其他代码或库与 "keras" 冲突,例如命名相同,导致无法正确引用 "keras"。如果有冲突,需要修改代码以确保正确引用 "keras"。 希望这些步骤能够帮助解决问题。 ### 回答2: 这个错误提示说明在`__init__.py`文件中找不到名为'keras'的引用。当我们在Python项目中使用`import`语句导入一个模块时,Python会在指定的路径中查找对应文件并执行引入操作。如果在`__init__.py`文件中无法找到相应的引用,通常是由于以下几种可能原因导致的: 1. 模块未正确安装:如果运行的是自己开发的项目或者从其他来源下载的项目,可能没有正确地安装所需的库或模块。解决办法是使用`pip`或`conda`等软件包管理工具安装所需的库,例如`pip install keras`。 2. 名称拼写错误:检查代码中引用的模块名称是否正确拼写,Python对大小写敏感。例如,如果实际名称为`Keras`而不是`keras`,则会报错,需要修复引用的名称。 3. 环境变量设置错误:有时,Python解释器可能无法找到正确的库路径。可以检查是否正确设置了环境变量,特别是`PYTHONPATH`,以确保解释器可以找到库。 4. 模块版本不兼容:某些库或模块可能有不兼容的版本。检查所使用的库的版本要求,确保所使用的版本与当前项目兼容。 如果以上解决方法都无效,可能需要进一步调查和排查其他可能的原因。可以查看具体的错误信息和堆栈跟踪,以了解更多细节,并搜索相关的技术文档、论坛或社区以寻求帮助。 ### 回答3: 在解析器中,这个错误通常表示在“__init__.py文件中找不到“keras”这个模块的引用。出现这个错误可能有以下几个原因: 1. Keras没有正确安装:请检查您的计算机上是否已经安装了Keras库。可以通过在终端或命令提示符窗口中运行“pip install keras”来安装最新版本的Keras。 2. 环境变量设置错误:如果Keras已经安装但仍然出现这个错误,可能是由于环境变量设置错误导致的。请确保您已经正确设置了PYTHONPATH和PATH环境变量,以便解析器可以找到Keras库。 3. 文件路径错误:在“__init__.py文件中找不到Keras引用可能是由于文件路径设置错误导致的。请确保您的代码文件(含'__init__.py')在正确的目录中,并且Keras文件也在相同的目录中。 4. Keras版本不兼容:如果您使用的是较旧的Keras版本,可能会导致找不到引用的错误。请尝试更新到最新版本的Keras,并确保您的代码与所使用的版本兼容。 如果您仔细检查以上几个方面,并且问题仍然存在,那可能是由于其他的因素引起的错误。在这种情况下,您可以参考官方文档或寻求专家的帮助来解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值