TensorFlow改善神经网络模型MLP的准确率:1.Keras函数库

文章演示了如何安装Keras库以匹配TensorFlow版本,并通过Keras构建了一个简单的神经网络模型进行数据训练和预测。模型处理了随机生成的数据,并使用了ReLU激活函数和softmax输出层。在训练后,模型对测试数据进行了预测并展示了结果。
摘要由CSDN通过智能技术生成

TensorFlow与Keras库

安装Keras库:

如果直接使用  pip install keras  进行安装,可能导致Keras的版本与TensorFlow的版本不对应。

那么,就使用

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

然后可以看到安装成功:

用Keras将上一篇的TensorFlow程序改写:

#!/usr/bin/env python
# -*- coding=utf-8 -*-

import keras
from keras.models import Sequential
from keras.layers import Dense
#from keras.optimizers import SGD, Dropout, Activation

# Generate dummy data
import numpy as np
""" 
x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(2, size=(1000, 1)), num_classes=2)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(2, size=(100, 1)), num_classes=2)

"""

x1=np.random.random((500,1))
x2=np.random.random((500,1))+1
x_train=np.concatenate((x1, x2))

y1=np.zeros((500,), dtype=int)
y2=np.ones((500,), dtype=int)
y_train=np.concatenate((y1, y2))
#y_train = keras.utils.to_categorical(y_train, num_classes=2)



model = Sequential()
model.add(Dense(units=10, activation='relu', input_dim=1))
model.add(Dense(units=10, activation='relu'))
model.add(Dense(units=2, activation='softmax'))


model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train,
          epochs=20,
          batch_size=128)


#測試
x_test=np.array([[0.22],[0.31],[1.22],[1.33]])
y_test=np.array([0,0,1,1])

score = model.evaluate(x_test, y_test, batch_size=128)
print("score:",score)

predict = model.predict(x_test)
print("predict:",predict)
print("Ans:",np.argmax(predict[0]),np.argmax(predict[1]),np.argmax(predict[2]),np.argmax(predict[3]))

predict2 = model.predict_classes(x_test)
print("predict_classes:",predict2)
print("y_test",y_test[:])

运行结果:

程序的编写方法和预测的答案几乎完全相同,唯一差别是 导入Keras库时会出现  

Using TensorFlow backend.  的提示, 即Keras实际的计算引擎还是TensorFlow。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值