Keras大法(1)——Keras简介


在这里插入图片描述

(一)Keras是什么?

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验,能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。特别的,在TensorFlow2.0版本中,将对Keras框架进行进一步整合,官方也推荐大家使用Keras构建模型,所以我们很有必要了解并掌握Keras的基本结构和使用方法,以提升我们的工作和实验效率!

(二)Keras的优点

在Keras的官方文档中,开发组列出了Keras的四个优点:

  • 用户友好
    Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。

  • 模块化
    模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可以以尽可能少的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。

  • 易扩展性
    新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的示例。由于能够轻松地创建可以提高表现力的新模块,Keras 更加适合高级研究。

  • 基于 Python 实现
    Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这些代码紧凑,易于调试,并且易于扩展。

(三)Keras使用示例

我们来定义一个含有一个隐层的网络:

from tensorflow import keras
from keras.utils import plot_model
import numpy as np

x_train = np.random.rand(10000, 2)
y_train = 3 * x_train[:, 0] + 2 * x_train[:, 1] + 1
print(y_train.shape)

model = keras.models.Sequential()
# 使用add方法添加隐层
model.add(keras.layers.Dense(512, activation= 'sigmoid', input_dim= 2, use_bias= True))

model.add(keras.layers.Dense(1, activation= 'sigmoid', use_bias= True))
# 编译模型
model.compile(loss = keras.losses.mean_squared_error,
              optimizer= keras.optimizers.Adam(0.01),
              metrics= ['accuracy'])
# 训练模型
model.fit(x_train, y_train, batch_size= 10)
# 输出:
10/1000 [..............................] - ETA: 26s - loss: 17.7002 - acc: 0.0000e+00
690/1000 [===================>..........] - ETA: 0s - loss: 12.8620 - acc: 0.0000e+00 
1000/1000 [==============================] - 0s 336us/step - loss: 11.8523 - acc: 0.0000e+00

可以看出,相较于TensorFlow基础API,使用Keras构建模型更加快捷、高效

(四)总 结

在这一节中我们对Keras的优点、使用示例等做了介绍,有任何的问题请在评论区留言,我会尽快回复,谢谢支持!

已标记关键词 清除标记
这是我用create_pascal_tf_record.py出现的错误 ``` D:\tensorflow\models\research\object_detection>python dataset_tools\create_pascal_tf_record.py --label_map=D:\tensorflow\pedestrain_train\data\label_map.pbtxt --data_dir=D:\pedestrain_data --year=VOC2012 --set=train --output_path=D:\pascal_train.record Traceback (most recent call last): File "dataset_tools\create_pascal_tf_record.py", line 185, in <module> tf.app.run() File "C:\anaconda\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run _sys.exit(main(argv)) File "dataset_tools\create_pascal_tf_record.py", line 167, in main examples_list = dataset_util.read_examples_list(examples_path) File "D:\ssd-detection\models-master\research\object_detection\utils\dataset_util.py", line 59, in read_examples_list lines = fid.readlines() File "C:\anaconda\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 188, in readlines self._preread_check() File "C:\anaconda\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 85, in _preread_check compat.as_bytes(self.__name), 1024 * 512, status) File "C:\anaconda\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 519, in __exit__ c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.NotFoundError: NewRandomAccessFile failed to Create/Open: D:\pedestrain_data\VOC2012\ImageSets\Main\aeroplane_train.txt : \u03f5\u0373\udcd5\u04b2\udcbb\udcb5\udcbd\u05b8\udcb6\udca8\udcb5\udcc4\udcce\u013c\udcfe\udca1\udca3 ; No such file or directory ``` 可是我的main文件夹里面是pedestrain_train.txt和pedestrain_val.txt为什么他要去找aeroplane_train.txt这个文件呢
©️2020 CSDN 皮肤主题: 数字50 设计师:CSDN官方博客 返回首页