程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

工业大数据竞赛(基于深度学习的模型)

发布于2019-08-22 16:33     阅读(124)     评论(0)     点赞(24)     收藏(2)


  1. #数据处理代码
  2. import pandas as pd
  3. import numpy as np
  4. #提取M1数据
  5. pinlv=[]
  6. #M_number=['M1','M2','M3','M4','M5']
  7. M_xilie=['a','b','c','d','e']
  8. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  9. fenlei=pd.DataFrame({'压缩机非联端X':[[]],'压缩机非联端Y':[[]],'压缩机联端X':[[]],'压缩机联端Y':[[]],'压缩机轴位移A(波形)':[[]],\
  10. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  11. file_all_count=[]
  12. k=0
  13. import os
  14. for h in range(5):
  15. for i in range(7):
  16. file_count=len(os.listdir('D:\训练数据\M1\M1%s\%s'%(M_xilie[h],boxing[i])))
  17. file_all_count.append(file_count)
  18. for g in range(5):
  19. for h in range(7):
  20. for i in range(file_all_count[k]):
  21. df=pd.read_csv('D:\训练数据\M1\M1%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),skiprows=5)
  22. df=df.drop(['wave'],axis=1)
  23. #df.loc[i+1]=list(data)
  24. listdata=list(df)
  25. listdata=[x[:4] for x in listdata]
  26. listdata=[float(x) for x in listdata]
  27. df2=pd.read_csv('D:\训练数据\M1\M1%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),nrows=1,header=None)
  28. freq=df2.loc[0,1]
  29. listdata2=[x*freq for x in listdata]
  30. pinlv=pinlv+listdata2
  31. #import array
  32. #int16重要!
  33. #pinlv=np.array(pinlv,dtype=np.int16)
  34. #import wave
  35. #import numpy as np
  36. #import scipy.signal as signal
  37. #import scipy.io.wavfile
  38. #scipy.io.wavfile.write('D:\训练数据\M1\M1a\%s.wav' %(boxing[h]),44100,pinlv) #7.2
  39. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  40. pinlv=[]
  41. k=k+1
  42. fenlei.to_csv('d:\训练数据\M1.csv')
  43. import pandas as pd
  44. import numpy as np
  45. #提取M2数据
  46. pinlv=[]
  47. #M_number=['M1','M2','M3','M4','M5']
  48. M_xilie=['a','b','c','d','e']
  49. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)']
  50. fenlei=pd.DataFrame({'压缩机非联端X':[[]],'压缩机非联端Y':[[]],'压缩机联端X':[[]],'压缩机联端Y':[[]],'压缩机轴位移A(波形)':[[]],\
  51. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  52. file_all_count=[]
  53. k=0
  54. import os
  55. for h in range(5):
  56. for i in range(6):
  57. file_count=len(os.listdir('D:\训练数据\M2\M2%s\%s'%(M_xilie[h],boxing[i])))
  58. file_all_count.append(file_count)
  59. for g in range(5):
  60. for h in range(6):
  61. for i in range(file_all_count[k]):
  62. df=pd.read_csv('D:\训练数据\M2\M2%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),skiprows=5)
  63. df=df.drop(['wave'],axis=1)
  64. #df.loc[i+1]=list(data)
  65. listdata=list(df)
  66. listdata=[x[:4] for x in listdata]
  67. listdata=[float(x) for x in listdata]
  68. df2=pd.read_csv('D:\训练数据\M2\M2%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),nrows=1,header=None)
  69. freq=df2.loc[0,1]
  70. listdata2=[x*freq for x in listdata]
  71. pinlv=pinlv+listdata2
  72. #import array
  73. #int16重要!
  74. #pinlv=np.array(pinlv,dtype=np.int16)
  75. #import wave
  76. #import numpy as np
  77. #import scipy.signal as signal
  78. #import scipy.io.wavfile
  79. #scipy.io.wavfile.write('D:\训练数据\M1\M1a\%s.wav' %(boxing[h]),44100,pinlv) #7.2
  80. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  81. pinlv=[]
  82. k=k+1
  83. fenlei.to_csv('d:\训练数据\M2.csv')
  84. import pandas as pd
  85. import numpy as np
  86. #提取M3数据
  87. pinlv=[]
  88. #M_number=['M1','M2','M3','M4','M5']
  89. M_xilie=['a','b','c','d','e']
  90. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  91. fenlei=pd.DataFrame({'压缩机非联端X':[[]],'压缩机非联端Y':[[]],'压缩机联端X':[[]],'压缩机联端Y':[[]],'压缩机轴位移A(波形)':[[]],\
  92. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  93. file_all_count=[]
  94. k=0
  95. import os
  96. for h in range(5):
  97. for i in range(7):
  98. file_count=len(os.listdir('D:\训练数据\M3\M3%s\%s'%(M_xilie[h],boxing[i])))
  99. file_all_count.append(file_count)
  100. for g in range(5):
  101. for h in range(7):
  102. for i in range(file_all_count[k]):
  103. df=pd.read_csv('D:\训练数据\M3\M3%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),skiprows=5)
  104. df=df.drop(['wave'],axis=1)
  105. #df.loc[i+1]=list(data)
  106. listdata=list(df)
  107. listdata=[x[:4] for x in listdata]
  108. listdata=[float(x) for x in listdata]
  109. df2=pd.read_csv('D:\训练数据\M3\M3%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),nrows=1,header=None)
  110. freq=df2.loc[0,1]
  111. listdata2=[x*freq for x in listdata]
  112. pinlv=pinlv+listdata2
  113. #import array
  114. #int16重要!
  115. #pinlv=np.array(pinlv,dtype=np.int16)
  116. #import wave
  117. #import numpy as np
  118. #import scipy.signal as signal
  119. #import scipy.io.wavfile
  120. #scipy.io.wavfile.write('D:\训练数据\M1\M1a\%s.wav' %(boxing[h]),44100,pinlv) #7.2
  121. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  122. pinlv=[]
  123. k=k+1
  124. fenlei.to_csv('d:\训练数据\M3.csv')
  125. import pandas as pd
  126. import numpy as np
  127. #提取M4数据
  128. pinlv=[]
  129. #M_number=['M1','M2','M3','M4','M5']
  130. M_xilie=['a','b','c','d','e']
  131. boxing=['压缩机非联端A','压缩机非联端B','压缩机联端A','压缩机联端B','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  132. fenlei=pd.DataFrame({'压缩机非联端A':[[]],'压缩机非联端B':[[]],'压缩机联端A':[[]],'压缩机联端B':[[]],'压缩机轴位移A(波形)':[[]],\
  133. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  134. file_all_count=[]
  135. k=0
  136. import os
  137. for h in range(5):
  138. for i in range(7):
  139. file_count=len(os.listdir('D:\训练数据\M4\M4%s\%s'%(M_xilie[h],boxing[i])))
  140. file_all_count.append(file_count)
  141. for g in range(5):
  142. for h in range(7):
  143. for i in range(file_all_count[k]):
  144. df=pd.read_csv('D:\训练数据\M4\M4%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),skiprows=5)
  145. df=df.drop(['wave'],axis=1)
  146. #df.loc[i+1]=list(data)
  147. listdata=list(df)
  148. listdata=[x[:3] for x in listdata]
  149. listdata=[float(x) for x in listdata]
  150. df2=pd.read_csv('D:\训练数据\M4\M4%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),nrows=1,header=None)
  151. freq=df2.loc[0,1]
  152. listdata2=[x*freq for x in listdata]
  153. pinlv=pinlv+listdata2
  154. #import array
  155. #int16重要!
  156. #pinlv=np.array(pinlv,dtype=np.int16)
  157. #import wave
  158. #import numpy as np
  159. #import scipy.signal as signal
  160. #import scipy.io.wavfile
  161. #scipy.io.wavfile.write('D:\训练数据\M1\M1a\%s.wav' %(boxing[h]),44100,pinlv) #7.2
  162. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  163. pinlv=[]
  164. k=k+1
  165. fenlei.to_csv('d:\训练数据\M4.csv')
  166. import pandas as pd
  167. import numpy as np
  168. #提取M5数据
  169. pinlv=[]
  170. #M_number=['M1','M2','M3','M4','M5']
  171. M_xilie=['a','b','c','d','e']
  172. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  173. fenlei=pd.DataFrame({'压缩机非联端X':[[]],'压缩机非联端Y':[[]],'压缩机联端X':[[]],'压缩机联端Y':[[]],'压缩机轴位移A(波形)':[[]],\
  174. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  175. file_all_count=[]
  176. k=0
  177. import os
  178. for h in range(5):
  179. for i in range(7):
  180. file_count=len(os.listdir('D:\训练数据\M5\M5%s\%s'%(M_xilie[h],boxing[i])))
  181. file_all_count.append(file_count)
  182. for g in range(5):
  183. for h in range(7):
  184. for i in range(file_all_count[k]):
  185. df=pd.read_csv('D:\训练数据\M5\M5%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),skiprows=5)
  186. df=df.drop(['wave'],axis=1)
  187. #df.loc[i+1]=list(data)
  188. listdata=list(df)
  189. listdata=[x[:4] for x in listdata]
  190. listdata=[float(x) for x in listdata]
  191. df2=pd.read_csv('D:\训练数据\M5\M5%s\%s\wave_%s.csv' %(M_xilie[g],boxing[h],(i+1)),nrows=1,header=None)
  192. freq=df2.loc[0,1]
  193. listdata2=[x*freq for x in listdata]
  194. pinlv=pinlv+listdata2
  195. #import array
  196. #int16重要!
  197. #pinlv=np.array(pinlv,dtype=np.int16)
  198. #import wave
  199. #import numpy as np
  200. #import scipy.signal as signal
  201. #import scipy.io.wavfile
  202. #scipy.io.wavfile.write('D:\训练数据\M1\M1a\%s.wav' %(boxing[h]),44100,pinlv) #7.2
  203. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  204. pinlv=[]
  205. k=k+1
  206. fenlei.to_csv('d:\训练数据\M5.csv')
  207. def xiaoshudian(x):
  208. t=0
  209. for i in range(len(x)):
  210. if x[i]=='.':
  211. t=t+1
  212. if t==2:
  213. return x[:i]
  214. if i==len(x)-1:
  215. return x
  216. #xiaoshudian('1.1.23456789')
  217. import pandas as pd
  218. import numpy as np
  219. #提取决赛数据
  220. pinlv=[]
  221. M_xilie=['_1','_2','_3','_4','_5']
  222. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)']
  223. boxing2=['汽轮机非联端A','汽轮机非联端B','汽轮机联端A','汽轮机联端B','汽轮机位移A(波形)','汽轮机位移B(波形)']
  224. fenlei=pd.DataFrame({'压缩机非联端X':[[]],'压缩机非联端Y':[[]],'压缩机联端X':[[]],'压缩机联端Y':[[]],'压缩机轴位移A(波形)':[[]],\
  225. '压缩机轴位移B(波形)':[[]],'压缩机轴位移C(波形)':[[]],'label':[[]]})
  226. file_all_count=[]
  227. k=0
  228. import os
  229. for h in range(5):
  230. for i in range(6):
  231. file_count=len(os.listdir('D:\决赛数据\M18\M18%s\%s'%(M_xilie[h],boxing2[i])))
  232. file_all_count.append(file_count)
  233. for g in range(5):
  234. for h in range(6):
  235. for i in range(file_all_count[k]):
  236. df=pd.read_csv('D:\决赛数据\M18\M18%s\%s\wave_%s.csv' %(M_xilie[g],boxing2[h],(i+1)),skiprows=5)
  237. df=df.drop(['wave'],axis=1)
  238. #df.loc[i+1]=list(data)
  239. listdata=list(df)
  240. listdata=[xiaoshudian(x) for x in listdata]
  241. listdata=[float(x) for x in listdata]
  242. df2=pd.read_csv('D:\决赛数据\M18\M18%s\%s\wave_%s.csv' %(M_xilie[g],boxing2[h],(i+1)),nrows=1,header=None)
  243. freq=df2.loc[0,1]
  244. listdata2=[x*freq for x in listdata]
  245. pinlv=pinlv+listdata2
  246. fenlei.loc[g,['%s'%(boxing[h])]]=[pinlv]
  247. pinlv=[]
  248. k=k+1
  249. fenlei.to_csv('d:\决赛数据\M18.csv')
  250. #转化为 .wav文件
  251. import librosa
  252. import numpy as np
  253. import pandas as pd
  254. import scipy
  255. df=pd.read_csv('d:\决赛数据\M17.csv')
  256. df2=df.drop(['Unnamed: 0'],axis=1)
  257. M_xilie=['_1','_2','_3','_4','_5']
  258. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)']
  259. for h in range(5):
  260. for i in range(6):
  261. df2.iloc[h,i]=df2.iloc[h,i][1:-1]
  262. pinlv=df2.iloc[h,i].split(',')
  263. pinlv=[float(x) for x in pinlv]
  264. pinlv=np.array(pinlv,dtype=np.int16)
  265. scipy.io.wavfile.write('D:\决赛数据\M17%s%s.wav' %(M_xilie[h],boxing[i]),44100,pinlv)
  1. #模型的训练和检验
  2. #建立模型一: 区分机器是否坏掉
  3. #读入数据 X y
  4. import librosa
  5. import numpy as np
  6. M_xilie=['a','b','c','d','e']
  7. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  8. for g in range(5):
  9. for h in range(5):
  10. for i in range(7):
  11. if g==1 and i==6:
  12. break
  13. file_name='D:\训练数据\M%s%s%s.wav'%(g+1,M_xilie[h],boxing[i])
  14. X, sample_rate = librosa.load(file_name, res_type='kaiser_fast')
  15. mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40).T,axis=0)
  16. if g==0 and h==0 and i==0:
  17. tezhen=mfccs
  18. else:
  19. tezhen=np.vstack((tezhen,mfccs))
  20. from sklearn.preprocessing import LabelEncoder
  21. from keras.utils import np_utils
  22. X=tezhen
  23. y=np.array([['a'],['a'],['a'],['a'],['a'],['a'],['a'],\
  24. ['a'],['a'],['a'],['a'],['a'],['a'],['a'],\
  25. ['a'],['a'],['a'],['a'],['a'],['a'],['a'],\
  26. ['a'],['a'],['a'],['a'],['a'],['a'],['a'],\
  27. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  28. ['a'],['a'],['a'],['a'],['a'],['a'],\
  29. ['a'],['a'],['a'],['a'],['a'],['a'],\
  30. ['a'],['a'],['a'],['a'],['a'],['a'],\
  31. ['a'],['a'],['a'],['a'],['a'],['a'],\
  32. ['g'],['g'],['g'],['g'],['g'],['g'],\
  33. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  34. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  35. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  36. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  37. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  38. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  39. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  40. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  41. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  42. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  43. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  44. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  45. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  46. ['g'],['g'],['g'],['g'],['g'],['g'],['g'],\
  47. ['g'],['g'],['g'],['g'],['g'],['g'],['g']])
  48. lb = LabelEncoder()
  49. y = np_utils.to_categorical(lb.fit_transform(y))
  50. #训练模型 1
  51. import numpy as np
  52. from keras.models import Sequential
  53. from keras.layers import Dense,Dropout,Activation,Flatten,LSTM
  54. from keras.layers import Convolution2D,MaxPooling2D
  55. from keras.optimizers import Adam
  56. from sklearn import metrics
  57. num_labels = y.shape[1]
  58. filter_size = 2
  59. # build model
  60. model=Sequential()
  61. model.add(Dense(256,input_shape=(40,)))
  62. model.add(Activation('relu'))
  63. model.add(Dropout(0.1))
  64. model.add(Dense(64))
  65. model.add(Activation('relu'))
  66. model.add(Dropout(0.1))
  67. model.add(Dense(num_labels))
  68. model.add(Activation('softmax'))
  69. model.compile(loss='binary_crossentropy',metrics=['accuracy'],optimizer='adam')
  70. model.fit(X,y,batch_size=34,epochs=25)
  71. #获取全组决赛数据
  72. import librosa
  73. import numpy as np
  74. M_xilie=['_1','_2','_3','_4','_5']
  75. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)']
  76. for g in range(8):
  77. for h in range(5):
  78. for i in range(6):
  79. file_name='D:\决赛数据\M%s%s%s.wav'%(g+11,M_xilie[h],boxing[i])
  80. X, sample_rate = librosa.load(file_name, res_type='kaiser_fast')
  81. mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40).T,axis=0)
  82. if g==0 and h==0 and i==0:
  83. tezhen_juesai=mfccs
  84. else:
  85. tezhen_juesai=np.vstack((tezhen_juesai,mfccs))
  86. X_juesai=tezhen_juesai
  87. print(X_juesai.shape)
  88. (240, 40)
  89. #预测决赛全组数据
  90. ar=model.predict_classes(X_juesai)
  91. for i in np.arange(0,240,6):
  92. print(ar[i:i+6])
  93. if (i+1)%5==0:
  94. print('')
  95. #建立模型二: 区分机器具体时间坏掉
  96. #读入数据 X y
  97. import librosa
  98. import numpy as np
  99. M_xilie=['a','b','c','d','e']
  100. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)','压缩机轴位移C(波形)']
  101. for g in range(2):
  102. for h in range(5):
  103. for i in range(7):
  104. if g==1 and i==6:
  105. break
  106. file_name='D:\训练数据\M%s%s%s.wav'%(g+1,M_xilie[h],boxing[i])
  107. X, sample_rate = librosa.load(file_name, res_type='kaiser_fast')
  108. mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40).T,axis=0)
  109. if g==0 and h==0 and i==0:
  110. tezhen=mfccs
  111. else:
  112. tezhen=np.vstack((tezhen,mfccs))
  113. from sklearn.preprocessing import LabelEncoder
  114. from keras.utils import np_utils
  115. X2=tezhen
  116. y2=np.array([['a'],['a'],['a'],['a'],['a'],['a'],['a'],\
  117. ['b'],['b'],['b'],['b'],['b'],['b'],['b'],\
  118. ['c'],['c'],['c'],['c'],['c'],['c'],['c'],\
  119. ['d'],['d'],['d'],['d'],['d'],['d'],['d'],\
  120. ['e'],['e'],['e'],['e'],['e'],['e'],['e'],\
  121. ['a'],['a'],['a'],['a'],['a'],['a'],\
  122. ['b'],['b'],['b'],['b'],['b'],['b'],\
  123. ['c'],['c'],['c'],['c'],['c'],['c'],\
  124. ['d'],['d'],['d'],['d'],['d'],['d'],\
  125. ['e'],['e'],['e'],['e'],['e'],['e']])
  126. lb = LabelEncoder()
  127. y2 = np_utils.to_categorical(lb.fit_transform(y2))
  128. #训练模型 2
  129. import numpy as np
  130. from keras.models import Sequential
  131. from keras.layers import Dense,Dropout,Activation,Flatten,LSTM
  132. from keras.layers import Convolution2D,MaxPooling2D
  133. from keras.optimizers import Adam
  134. from sklearn import metrics
  135. num_labels = y2.shape[1]
  136. filter_size = 2
  137. # build model
  138. model2=Sequential()
  139. model2.add(Dense(256,input_shape=(40,)))
  140. model2.add(Activation('relu'))
  141. model2.add(Dropout(0.1))
  142. model2.add(Dense(64))
  143. model2.add(Activation('relu'))
  144. model2.add(Dropout(0.1))
  145. model2.add(Dense(num_labels))
  146. model2.add(Activation('softmax'))
  147. model2.compile(loss='categorical_crossentropy',metrics=['accuracy'],optimizer='adam')
  148. model2.fit(X2,y2,batch_size=34,epochs=25)
  149. #获取故障组决赛数据
  150. import librosa
  151. import numpy as np
  152. M_number=['11','16','17','18']
  153. M_xilie=['_1','_2','_3','_4','_5']
  154. boxing=['压缩机非联端X','压缩机非联端Y','压缩机联端X','压缩机联端Y','压缩机轴位移A(波形)','压缩机轴位移B(波形)']
  155. for g in range(4):
  156. for h in range(5):
  157. for i in range(6):
  158. file_name='D:\决赛数据\M%s%s%s.wav'%(M_number[g],M_xilie[h],boxing[i])
  159. X, sample_rate = librosa.load(file_name, res_type='kaiser_fast')
  160. mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40).T,axis=0)
  161. if g==0 and h==0 and i==0:
  162. tezhen_juesai=mfccs
  163. else:
  164. tezhen_juesai=np.vstack((tezhen_juesai,mfccs))
  165. X_juesai=tezhen_juesai
  166. print(X_juesai.shape)
  167. (120, 40)
  168. #预测故障组决赛数据
  169. ar=model2.predict_classes(X_juesai)
  170. for i in np.arange(0,120,6):
  171. print(ar[i:i+6])
  172. if (i+1)%5==0:
  173. print('')

 



所属网站分类: 技术文章 > 博客

作者:齐天大圣

链接:https://www.pythonheidong.com/blog/article/52943/e393a3a4193e5f24340e/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)