当前位置:   article > 正文

双向LSTM+Attention程序代码及详细说明

双向lstm+attention

双向LSTM+Attention程序代码,可运行

本文仅对双向长短时记忆网络和注意力机制结合的python程序进行解释说明 (以心电图数据的分类识别为例,即输入为一维向量),并不解释其数学原理。

// 导入需要用到的库
import keras.backend as K
from keras.layers import Multiply, Dropout, Bidirectional,LSTM
from keras.layers.core import *
from keras.models import *
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import h5py as hp
import math
from keras import optimizers
from sklearn.metrics import confusion_matrix
import scipy.io as scio

// 定义数据加载,这里数据是 .mat格式,有的版本需要直接用loadmat
def load_mat(path_data,name_data,dtype='float32'):
    data=hp.File(path_data)
    arrays_d={
   }
    for k,v in data.items(): 
        arrays_d[k]=np.array(v)
    dataArr=np.array(arrays_d[name_data],dtype=dtype)
    return dataArr   

// 定义注意力模型
    def attention_3d_block(inputs):
    # inputs.shape = (batch_size, time_steps, input_dim)
    input_dim = int(inputs.shape[2]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/527736
推荐阅读
相关标签
  

闽ICP备14008679号