【问题标题】:Array transformation for KerasR LSTM in RR中KerasR LSTM的数组转换
【发布时间】:2017-07-30 14:33:30
【问题描述】:

为了在 KerasR 中使用 LSTM,我必须转换我的 NumericMatrix (335 x 1515) 我想我在这里找到了解决方案https://stats.stackexchange.com/questions/274478/understanding-input-shape-parameter-in-lstm-with-keras 但它在 python 中

 x_train=numpy.reshape(x_train,(x_train.shape[0],x_train.shape[1],1))

我不知道如何在 R 中做到这一点。

【问题讨论】:

    标签: python r keras


    【解决方案1】:

    您可以将新形状分配给数组的dim 属性:

    dim(x_train) <- c(dim(x_train), 1)
    

    或使用array 重塑并取回一个新数组:

    array(x_train, c(dim(x_train), 1))
    

    x_train <- array(1:10, c(2,5))
    x_train
    #     [,1] [,2] [,3] [,4] [,5]
    #[1,]    1    3    5    7    9
    #[2,]    2    4    6    8   10
    
    dim(x_train)
    #[1] 2 5
    dim(x_train) <- c(dim(x_train), 1)
    x_train
    #, , 1
    
    #     [,1] [,2] [,3] [,4] [,5]
    #[1,]    1    3    5    7    9
    #[2,]    2    4    6    8   10
    
    dim(x_train)
    #[1] 2 5 1
    

    【讨论】:

      【解决方案2】:

      我知道这已经被回答了,但是为了完成,R 中的 Keras 有一个名为 k_expand_dims() 的内置函数,因此您可以添加一个额外的维度,如下所示:

      x_train <- k_expand_dims(x_train, axis = 3)
      

      观察:选项axis = 3 在“z”方向添加了一个额外的维度,因此数组最终会成为一个 3D 数组

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-29
        • 2019-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        相关资源
        最近更新 更多