Golaboratory的tensorflow的练习Demo
程序员文章站
2024-03-05 20:24:01
...
1.准备环境
win10、python3.7、tensorflow1.9、keras2.2.0
具体安装请参考
使用tensorflow进行数据分析和预测
from keras.models import Sequential
from keras.layers import LSTM, Dense
import pandas as pd
from random import shuffle
import numpy as np
import codecs ,csv
注意:出现下面Using TensorFlow backend. 才算正确
若果出现报错:module ‘tensorflow.python.keras.backend’ has no attribute ‘get_graph’
请参考前面的keras和tensorflow的配置
##定义生成数据参数
data_dim=16
timesteps=8
nb_classes=10
filename="./code/LSTM-Outputs.txt"
###生成训练集
x_train = np.random.random((1000,timesteps,data_dim))
y_train = np.random.random((1000,nb_classes))
###生成验证数据
x_val = np.random.random((100,timesteps,data_dim))
y_val = np.random.random((100,nb_classes))
###生成测试数据
x_test = np.random.random((100,timesteps,data_dim))
y_test = np.random.random((100,nb_classes))
####简单搭建一个LSTM
model=Sequential() ##模型初始化
#####
model.add(LSTM(32,return_sequences=True, input_shape=(timesteps,data_dim)))
##return a sequence of vectors of dimension
model.add(LSTM(32,return_sequences=True))
model.add(LSTM(32))
model.add(Dense(10,activation='softmax'))
model.compile(loss='categorical_crossentropy',optimizer='rmsprop',metrics=['accuracy'])
#######训练模型
model.fit(x_train,y_train,batch_size=64,epochs=10,validation_data=(x_val,y_val))
##预测结果
results=model.predict(x_test,batch_size=32,verbose=0)
##保存预测结果
with codecs.open(filename,'w',encoding='utf-8') as f:
f_csv=csv.writer(f)
f_csv.writerows(results)
score = model.evaluate(x_test,y_test,batch_size=16) ##在test数据上评估模型
print("\n Evaluation Metrics: \n",model.metrics_names)
print(score)
数据下载: