我用的gpu版的tensorflow,要安装keras,直接pip install keras==2.2.4
,因为keras是以tensorflow作为依附.所以不用想着keras的gpu版。
>>> import keras
Using TensorFlow backend.
如果训练模型报错AttributeError: 'str' object has no attribute 'decode'
卸载h5py ,然后输入下列命令,这个好像是python3和python2之间的问题,pip install 'h5py<3.0.0' -i https://pypi.doubanio.com/simple
如何使用keras构建模型:
之前看tf的模型构建代码,相比较确实keras更简洁明了。
import tensorflow as tf
import tensorflow.keras as keras
import tensorflow.keras.layers as layers
import sklearn.datasets as datasets
# 1. 定义Layer层;
# 1.1. 输入层:必须是InputLayer或者Input创建的Tensor;
input_layer = keras.Input(shape=(4,)) # 4是Iris的特征维数(4个特征:可以参考sklearn中关于iris数据集的特征说明)
# 1.2. 隐藏层:8-4
hide1_layer = layers.Dense(units=8, activation='relu')
hide2_layer = layers.Dense(units=4, activation='relu')
# 1.3. 输出层:1
output_layer = layers.Dense(units=1, activation='sigmoid')
# 2. 构建Layer之间的函数链式关系
hide1_layer_tensor = hide1_layer(input_layer) # <----------------------使用可调用特性
hide2_layer_tensor = hide2_layer(hide1_layer_tensor)
output_layer_tensor = output_layer(hide2_layer_tensor)
# 3. 使用inputs与outputs建立函数链式模型;
model = keras.Model(inputs=input_layer, outputs=output_layer_tensor) # inputs与outputs一定是Layer调用输出的张量
# 4. 训练
# 4.1. 训练参数
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['mse'])
# 4.2. 训练
data, target = datasets.load_iris(return_X_y=True)
data = data[:100, :] # 取前面100个样本(第一类与第二类)
target = target[:100]
model.fit(x=data, y=target, batch_size=10, epochs=1000, verbose=0)
# 4.3. 预测与评估
# 6.预测
pre_result = model.predict(data)
category = [0 if item<=0.5 else 1 for item in pre_result ]
accuracy = (target == category).mean()
print(F'分类准确度:{accuracy *100.0:5.2f}%', )
网友评论