为什么 Torch 是动态的

为什么 Torch 是动态的

计算图要变动. 最典型的例子就是 RNN, 有时候 RNN 的 time step 不会一样, 或者在 training 和 testing 的时候, batch_size 和
time_step 也不一样, 如果用一个动态计算图的 Torch, 我们就好理解多了, 写起来也简单多了.

动态RNN(其他代码同rnn回归)

#!!!!!!!!!!修改部分!!!!!!!!!!
for step in range(100):
    dynamic_steps = np.random.randint(1, 4)  # 随机 time step 长度
    start, end = step * np.pi, (step+ dynamic_steps)*np.pi   # time steps 都是一样长的
    # sin 预测 cos
    step += dynamic_steps
    steps = np.linspace(start, end, 10 * dynamic_steps, dtype=np.float32)


    print(len(steps))  # print how many time step feed to RNN
    #######################  这下面又一样了 ###########################
    x_np = np.sin(steps)    # float32 for converting torch FloatTensor
    y_np = np.cos(steps)
    ...
    10
30
30
30
10
20
10
30..
发布了20 篇原创文章 · 获赞 16 · 访问量 1732

猜你喜欢

转载自blog.csdn.net/komorebi6/article/details/104463747