資源簡介
使用TensorFlow對一維電機振動信號檢測(輸入的信號經(jīng)過了小波變換,8個特征)

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Mon?Apr??2?11:46:50?2018
@author:?FDS
“““
#電機故障數(shù)據(jù)檢測(只針對一圈)
#一組數(shù)據(jù)一組數(shù)據(jù)進行訓練
#
#
import?tensorflow?as?tf
import?numpy?as?np
import?scipy.io?as?sio
import?random
#輸入數(shù)據(jù)部分
#
data_inter=sio.loadmat(‘C:/Users/FDS/Desktop/data2018/data_prepare_inter.mat‘)[‘data_E‘]#故障數(shù)據(jù)
data_normal=sio.loadmat(‘C:/Users/FDS/Desktop/data2018/data_prepare_normal.mat‘)[‘data_Enormal‘]#正常總數(shù)據(jù)
a=np.array(data_inter[0:100])
b=np.array(data_normal[0:450])
train_data=np.concatenate((ab)axis=0)
c=np.array(data_inter[100:])
d=np.array(data_normal[450:])
test_data=np.concatenate((cd)axis=0)
y_train_data=np.concatenate((np.ones(a.shape[0])np.zeros(b.shape[0]))axis=0)#訓練標簽
y_train_data.shape=(y_train_data.shape[0]1)
y_test_data=np.concatenate((np.ones(c.shape[0])np.zeros(d.shape[0]))axis=0)#測試標簽
y_test_data.shape=(y_test_data.shape[0]1)
e=np.zeros((5502))?#全部訓練數(shù)據(jù)的標簽
for?i?in?range(0100):
????e[i][1]=1??
for?i?in?range(100550):
????e[i][0]=1
e_test=np.zeros((572))
for?i?in?range(022):
????e_test[i][1]=1
for?i?in?range(2257):
????e_test[i][0]=1
????
#模型搭建部分
x_data=tf.placeholder(“float32“[None8])
weight=tf.Variable(tf.ones([82]))
bias=tf.Variable(tf.ones([2]))
y_model=tf.nn.softmax(tf.matmul(x_dataweight)+bias)
y_data=tf.placeholder(“float32“[None2])
loss=tf.reduce_sum(tf.pow((y_model-y_data)2))
train_step=tf.train.GradientDescentOptimizer(0.01).minimize(loss)
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)
temp_x=np.zeros((508))#隨機取50組數(shù)據(jù)進行訓練
temp_y=np.zeros((502))#隨機50組數(shù)據(jù)的標簽值
#訓練
for?i?in?range(1000):
????rand=random.randint(0499)??#產(chǎn)生隨機數(shù)
????for?k?in?range(050):
????????temp_x[k]=train_data[rand+k]#訓練值
????????temp_y[k]=e[rand+k]#標簽值
????sess.run(train_stepfeed_dict={x_data:temp_xy_data:temp_y})?
????if?i%5==0:
????????correct_prediction=tf.equal(tf.argmax(y_model1)tf.argmax(y_data1))
????????accuracy=tf.reduce_mean(tf.cast(correct_prediction“float“))
????????print(sess.run(accuracyfeed_dict={x_data:test_datay_data:?e_test}))
?print(sess.run(weight))??#輸出權(quán)重
?print(sess.run(bias))????#輸入偏離值
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2404??2018-04-08?16:27??unti
?????文件???????5838??2018-04-01?14:29??data2018\data_prepare_inter.mat
?????文件??????22389??2018-04-01?14:39??data2018\data_prepare_normal.mat
?????目錄??????????0??2018-04-01?15:00??data2018
-----------?---------??----------?-----??----
????????????????30631????????????????????4
評論
共有 條評論