def to_supervised(train, n_input, n_out=24): # flatten data data = train.reshape((train.shape[0]*train.shape[1], train.shape[2])) X, y = list(), list() in_start = 0 # step over the entire history one time step at a time for _ in range(len(data)): # define the end of the input sequence in_end = in_start + n_input out_end = in_end + n_out # ensure we have enough data for this instance if out_end < len(data): X.append(data[in_start:in_end, :]) y.append(data[in_end:out_end, 0]) # move along one time step in_start += 1 return array(X), array(y) def sliding_windows(data, seq_length, output_size, stride=1): xs = [] ys = [] for i in range(0, len(data)-seq_length-output_size+1, stride): x = data[i:i+seq_length, :] y = data[i+seq_length:i+seq_length+output_size, 0] xs.append(x) ys.append(y) return tf.convert_to_tensor(xs), tf.convert_to_tensor(ys)这两段代码功能是否相同
时间: 2024-02-15 09:27:12 浏览: 102
Thpumaeu.zip_htpps://eu.puma.com_human_image_supervised learning
这两段代码的功能不完全相同。第一个函数 `to_supervised` 会将输入的训练数据 `train` 进行展平处理,然后根据给定的时间步长 `n_input` 和输出长度 `n_out` ,生成输入数据和目标数据。而第二个函数 `sliding_windows` 是一个滑动窗口函数,用于生成给定时间步长 `seq_length` 和输出长度 `output_size` 的滑动窗口数据。虽然这两个函数都可以用于生成输入数据和目标数据,但是它们的实现方式不同,因此也有一些细节上的差异。
阅读全文