☰
Keras:面向人类的深度学习库
2026/9/26 3:14:06 网站建设 项目流程

文章目录

    • 简介和安装
    • 创建模型

简介和安装

Keras号称是面向人类的深度学习库,有着优雅的API设计,并且可以自由切换后端框架,从而一套代码,可以在pytorch, tensorflow以及jax生态中完美使用。当然,一拖三肯定不能尽善尽美,keras3对三大后端的兼容性为tensorflow2.16.1,torch2.1.0以及jax0.4.20。实测torch2.11不兼容,jax0.6.2兼容。

pip安装即可

pip install keras -i https://pypi.tuna.tsinghua.edu.cn/simple

由于支持不同的后端,所以在import之前,需要通过更改环境变量的方式,修改keras的后端框架,例如使用jax后端

importos os.environ["KERAS_BACKEND"]="jax"importkeras

创建模型

官方教程提供了MNIST数字分类的示例

importnumpyasnp(x_train,y_train),(x_test,y_test)=keras.datasets.mnist.load_data()x_train=x_train.astype("float32")/255x_test=x_test.astype("float32")/255# 新增一个维度x_train=np.expand_dims(x_train,-1)x_test=np.expand_dims(x_test,-1)print("x_train shape:",x_train.shape)print("y_train shape:",y_train.shape)print(x_train.shape[0],"train samples")print(x_test.shape[0],"test samples")# Model parametersnum_classes=10input_shape=(28,28,1)model=keras.Sequential([keras.layers.Input(shape=input_shape),keras.layers.Conv2D(64,(3,3),activation="relu"),keras.layers.Conv2D(64,(3,3),activation="relu"),keras.layers.MaxPooling2D((2,2)),keras.layers.Conv2D(128,(3,3),activation="relu"),keras.layers.Conv2D(128,(3,3),activation="relu"),keras.layers.GlobalAveragePooling2D(),keras.layers.Dropout(0.5),keras.layers.Dense(num_classes,activation="softmax"),])model.summary()
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ ┃ Layer(type)┃ Output Shape ┃ Param# ┃┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ │ conv2d(Conv2D)│(None,26,26,64)│640│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_1(Conv2D)│(None,24,24,64)│36,928│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d(MaxPooling2D)│(None,12,12,64)│0│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_2(Conv2D)│(None,10,10,128)│73,856│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_3(Conv2D)│(None,8,8,128)│147,584│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ global_average_pooling2d │(None,128)│0│ │(GlobalAveragePooling2D)│ │ │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ dropout(Dropout)│(None,128)│0│ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ dense(Dense)│(None,10)│1,290│ └──────────────────────────────────────┴─────────────────────────────┴─────────────────┘

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询