Keras库如何安装使用


本篇内容介绍了“Keras库如何安装使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用Anaconda的conda install就可以安装Keras库:该命令也会立即帮你安装好相关依赖。Keras 可以使用多个可用库之一作为其后端,这是处理低级操作(例如张量)的部分。我们将使用 TensorFlow,这是默认设置。首先,我们将稍微调整 TensorFlow 的配置。具体来说,我们将allow_growth选项设置为 true,这允许 TensorFlow 动态增加使用的 GPU 内存,而不是预先分配所有内容。如果我们不这样做,TensorF免费云主机域名low 可能会尝试分配太多内存,导致你的 GPU 会立即耗尽内存(对我来说确实如此)。为此,请把以下代码放在文件的开头:如果您的后端是 TensorFlow 1.x:对于 TensorFlow 2.x,你必须set_memory_growth设置为你的 GPU调用该函数。你可以在tf.config.experimental.set_memory_growth文档中阅读更多关于这背后的细节。
怎么查看你所拥有的版本?可以通过conda list来查看您的 TensorFlow 版本。即便使用相同的 Anaconda 安装命令,例如我在一台计算机上安装了 1.13.1,在另一台上安装了 2.1.0。如果你想强制 Keras 使用你的 CPU 而不是你的 GPU,请在第一次 Keras import 之前添加:虽然这样一来比在 GPU 上慢很多,但如果你没有足够的多 GPU 内存,你还真得考虑一下这样做。我们将使用英特尔图像分类数据集演示用于图像分类的 Keras。该数据集包含六个类别的图像,分为六个不同的目录,这非常方便,因为 Keras 提供了处理该格式数据的内置功能。虽然你不用过多担心神经网络背后的数学问题,但你还需要对此有足够的理解,因为你才能准确指定你的模型由哪些层组成。Keras 提供的模型之一是顺序模型,即一堆层。创建顺序模型和添加层非常简单:以下是我们的模型用于图像分类的样子:神经网络模型的构建超出了本模块的范围,但简而言之:卷积层的重复模式(由于模式变得更复杂,过滤器数量越来越多)、最大池化层和批处理归一化通常用作图像分类问题的第一步。该步骤的输出是多维的,我们将其展平为具有展平层的一维向量。我们以几个密集连接的层结束,中间有一个 dropout 层,以帮助对抗过度拟合。最后一层必须输出一个包含六个元素的向量,因为我们有六个类别。接下来,我们编译模型,这意味着我们对其进行配置以进行训练:我们的损失函数sparse_categorical_crossentropy非常适合分类问题,而类别之间没有重叠。有关损失函数的完整讨论,请参阅Keras 文档。我们正在使用 Adam 优化器。可以在相关文档中找到优化器的完整列表。并metrics指定模型在训练和测试期间评估的内容。
现在我们有了模型的结构,我们可以将它拟合到我们的数据集。(如果你想要以较低的准确度更快地完成该过程,请自定义减少 epoch 的数量,尤其是在你使用 CPU 的情况下。40 个 epoch 需要相当长的时间。)根据 Keras 文档,这就是 an 的ImageDataGenerator作用:
使用实时数据增强生成批量张量图像数据。数据将被循环(分批)。我们的例子没有做任何数据增强。稍后我们将介绍该功能。在前面的代码中,validation_split=0.2意味着我们将使用 20% 的训练集进行验证。由于数据集只有一个训练集和一个测试集,我们必须使用训练集的一个子集作为验证集。
flow_from_directory是一个简洁的内置函数,非常适合像我们这样的数据集结构:每个类别的子目录。
class_mode="sparse"意味着我们正在处理一维整数标签fit_generatorImageDataGenerator在我们指定的多个时期中将模型拟合到。
训练完成后,我们可以用evaluate_generator函数测试模型。就像fit_generator,它需要一个生成器作为参数。我们可以为我们的测试数据创建一个,类似于我们为训练数据所做的:
这将为我们的示例返回一个包含两个值的数组:损失和准确性。(你还可以通过查看model.metrics_names值来检查。)我的准确率为 81.7%,这对于非平凡数据集上的相对简单模型来说还不错。你现在可以使用该model.predict方法对任何图像生成预测。此方法将 NumPy 图像数组作为输入,其中图像也是形状为 (150, 150, 3) 的 NumPy 数组。要对一张图像进行预测,你可以执行以下操作:skimage.io.imread将读取图像expand_dims并将另一个维度添加到数组。输出是一个预测数组,其中每个预测是一个值数组,指示每个类别的概率。数据增强是指根据现有训练集生成新的训练数据,以提高准确性和泛化性并减少过度拟合。对于图像,数据增强可以通过对图像进行多种变换来完成:旋转、翻转、缩放、移位、剪切等。ImageDataGenerator使这变得容易。要将数据增强应用于我们的模型,只需更改两行代码。首先,ImageDataGenerator使用更多参数实例化,指定我们想要的转换:Python复制代码还有更多的可能性——请参阅图像预处理文档以获取完整的参数列表。第二行是fit_generator电话。这个函数有可选steps_per_epoch和validation_steps参数,我们可以离开了前面,因为我们有训练样本的固定数量。通过数据增强,我们可能有更多的训练样本,因此我们必须指定要使用的数量。如果我们不这样做,该函数将只使用我们固定大小的样本集。一个步骤对应于一批给定的batch_size。同样,如果您希望该过程更快,请随时减少 epoch 数或步骤数。经过 2-3 小时的训练,我的准确率为 85.5%。Keras 允许你以 HDF5 格式保存经过训练的模型:恢复模型也是一行:这需要h6py软件包,如果你使用的是conda install.如果没有,请在 Jupyter Notebook 单元中运行此 pip 命令:Python复制代码“Keras库如何安装使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: spark如何设置消息尺寸最大值

这篇文章给大家分享的是有关spark如何设置消息尺寸最大值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。设置消息尺寸最大值感谢各位的阅读!关于“spark如何设置消息尺寸最大值”这篇文章就分享免费云主机域名到这里了,希望以上内容可以…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/12 10:03
下一篇 09/12 10:08

相关推荐