RNN LSTM (回归例子)
设置RNN的参数
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
BATCH_START = 0 # 建立 batch data 时候的 index
TIME_STEPS = 20 # backpropagation through time 的 time_steps
BATCH_SIZE = 50
INPUT_SIZE = 1 # sin 数据输入 size
OUTPUT_SIZE = 1 # cos 数据输出 size
CELL_SIZE = 10 # RNN 的 hidden unit size
LR = 0.006 # learning rate数据生成
def get_batch():
global BATCH_START, TIME_STEPS
# xs shape (50batch, 20steps)
xs = np.arange(BATCH_START, BATCH_START+TIME_STEPS*BATCH_SIZE).reshape((BATCH_SIZE, TIME_STEPS)) / (10*np.pi)
seq = np.sin(xs)
res = np.cos(xs)
BATCH_START += TIME_STEPS
# returned seq, res and xs: shape (batch, step, input)
return [seq[:, :, np.newaxis], res[:, :, np.newaxis], xs]定义LSTMRNN的主体结构
设置add_input_layer功能,添加input_layer:
设置add_cell功能,添加cell:
设置add_output_layer功能,添加output_layer:
添加RNN中剩下的部分:
训练 LSTMRNN
Last updated
Was this helpful?