network_input = [] network_output = [] for i in range(0, len(notes) - sequence_length, 1): # 循环次数,步长为1 sequence_in = notes[i:i + sequence_length] # 每次输入100个序列,每隔长度1取下一组,例如:(0,100),(1,101),(50,150) sequence_out = notes[i + sequence_length] # 真实值,从100开始往后 network_input.append([pitch_to_int[char] for char in sequence_in]) # 列表生成式 # 把sequence_in中的每个字符转为整数(pitch_to_int[char])放到network_input network_output.append(pitch_to_int[sequence_out]) # 把sequence_out的一个字符转为整数 n_patterns = len(network_input) # 输入序列长度 # 将输入序列的形状转成神经网络模型可以接受的 network_input = np.reshape(network_input, (n_patterns, sequence_length, 1)) # 输入,要改成的形状 # 将输入标准化,归一化 network_input = network_input / float(num_pitch) # 将期望输出转换成{0,1}布尔矩阵,配合categorical_crossentrogy误差算法的使用 network_output = tf.keras.utils.to_categorical(network_output)
时间: 2024-03-31 19:32:03 浏览: 51
network练习实例
这段代码看起来像是在为一个音乐生成的神经网络做数据预处理和格式转换。它将音符序列划分成长度为 sequence_length 的子序列,并将每个子序列中的音符转换为整数表示。然后,它将这些整数表示的子序列作为神经网络的输入,并将神经网络的输出转换为一个布尔矩阵,以配合 categorical_crossentropy 误差算法的使用。最后,它将输入标准化,归一化,以便神经网络更好地处理数据。
阅读全文