-
华为云使用手写的keras训练代码构建模拟数据# create some dataX = np.linspace(-1, 1, 200)np.random.shuffle(X) # randomize the dataY = 0.5 * X + 2 + np.random.normal(0, 0.05, (200, ))# plot dataplt.scatter(X, Y)plt.show()构建模型from keras.models import Sequentialmodel = Sequential()# 可以简单地使用 .add() 来堆叠模型:from keras.layers import Densemodel.add(Dense(units=64, activation='relu', input_dim=100))model.add(Dense(units=10, activation='softmax'))配置学习过程# 在完成了模型的构建后, 可以使用 .compile() 来配置学习过程:model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])# 如果需要,你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))训练# x_train 和 y_train 是 Numpy 数组 -- 就像在 Scikit-Learn API 中一样。model.fit(x_train, y_train, epochs=5, batch_size=32)# 或者,你可以手动地将批次的数据提供给模型:print('Training -----------')for step in range(10): cost = model.train_on_batch(X_train, Y_train) if step % 100 == 0: print('train cost: ', cost)评估loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)# 或者对新的数据生成预测:classes = model.predict(x_test, batch_size=128)可视化结果# plotting the predictionY_pred = model.predict(X_test)plt.scatter(X_test, Y_test)plt.plot(X_test, Y_pred)plt.show()
上滑加载中
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/14 周二 16:30-18:00
张俭 华为云IoT DTSE技术布道师
作为开发者的你是否也想加入开源社区?本期物联网平台资深“程序猿”,开源专家张俭,为你揭秘华为云IoT如何借助开源构建可靠、开放、易用的物联网平台,并手把手教你玩转开源社区!
去报名
热门标签