整体思路
- 首先,写一个deep_learning.py文件进行神经网络的训练及测试过程。
- 将deep_learning.py中需要优化的参数(在这里我们优化LSTM层数和全连接层数及每层的神经元个数)统一写到一个列表num中。
- 然后,进行遗传算法的编写GA.py,用需要传入deep_learning.py文件的列表num当染色体,需要优化的参数当染色体上的基因。
deep_learning.py文件
由于要将所有需要优化的参数写到一个列表中,所以再此文件中需要定义两个函数,分别是创建LSTM层函数 create_lstm(inputs, units, return_sequences) 和创建全连接层(包括BN层和dropout层)函数 create_dense(inputs, units) 。
函数:create_lstm(inputs, units, return_sequences)
输入:
- inputs:传进此LSTM层的输入,如果这一LSTM层是第一层LSTM层,则传入的是 layers.Input() 的变量名;否则,传入的应该是上一个LSTM层。
- units:此LSTM层中有多少个神经元。
- return_sequences:此LSTM层保留所有输出(True)还是只保留最后一步的输出(False)。
输出:
- 输出LSTM层。