Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 难以理解mxnet nn所需的矩阵布局_Arrays_R_Neural Network_Mxnet - Fatal编程技术网

Arrays 难以理解mxnet nn所需的矩阵布局

Arrays 难以理解mxnet nn所需的矩阵布局,arrays,r,neural-network,mxnet,Arrays,R,Neural Network,Mxnet,获取了一个数据帧,其中列2:37作为变量,列1作为二进制响应变量 mx.set.seed(1234) train.x = data.matrix(A3n.df[,2:37]) train.y = A3n.df[,1] data <- mx.symbol.Variable("data") fc1 <- mx.symbol.FullyConnected(data, name="fc1", num_hidden=12) act1 <- mx.symbol.Activation(fc

获取了一个数据帧,其中列2:37作为变量,列1作为二进制响应变量

mx.set.seed(1234)
train.x = data.matrix(A3n.df[,2:37])
train.y = A3n.df[,1]

data <- mx.symbol.Variable("data")
fc1 <- mx.symbol.FullyConnected(data, name="fc1", num_hidden=12)
act1 <- mx.symbol.Activation(fc1, name="relu1", act_type="relu")
fc2 <- mx.symbol.FullyConnected(act1, name="fc2", num_hidden=1)
logoutput <- mx.symbol.LogisticRegressionOutput(fc2, name="logoutput")

A1.MXmodel <- mx.model.FeedForward.create(logoutput, X=train.x, y=train.y,
                                     ctx=mx.gpu(), num.round=1000, array.batch.size=100,
                                     learning.rate=0.01, momentum=0.9,  eval.metric=mx.metric.accuracy,
                                     initializer=mx.init.uniform(0.07),
                                     epoch.end.callback=mx.callback.log.train.metric(100))
就在几天前,我使用了:

train.x <- t(train.x)

在mx.model.FeedForward.create的调用中,您需要更改的内容很少:

  • 从列车上移除转置
  • 删除eval.metric=mx.metric.accurity(如果要查看培训进度,请将其替换为eval.metric=mx.metric.rmse)
  • (可选)设置array.layout=“rowmajor”以指示示例在行中,要素在列中。Mxnet足够智能,可以自动检测到它,但它会删除输出中的恶意消息
  • 最后一次呼叫将如下所示:

    A1.MXmodel <- mx.model.FeedForward.create(logoutput, X=train.x, y=train.y,
                                          ctx=mx.gpu(), num.round=1000, array.batch.size=100,
                                          learning.rate=0.01, momentum=0.9,
                                          initializer=mx.init.uniform(0.07),
                                          eval.metric=mx.metric.rmse,
                                          array.layout = "rowmajor",
                                          epoch.end.callback=mx.callback.log.train.metric(100))
    

    A1.MXmodel在mx.model.FeedForward.create的调用中,您需要更改的内容很少:

  • 从列车上移除转置
  • 删除eval.metric=mx.metric.accurity(如果要查看培训进度,请将其替换为eval.metric=mx.metric.rmse)
  • (可选)设置array.layout=“rowmajor”以指示示例在行中,要素在列中。Mxnet足够智能,可以自动检测到它,但它会删除输出中的恶意消息
  • 最后一次呼叫将如下所示:

    A1.MXmodel <- mx.model.FeedForward.create(logoutput, X=train.x, y=train.y,
                                          ctx=mx.gpu(), num.round=1000, array.batch.size=100,
                                          learning.rate=0.01, momentum=0.9,
                                          initializer=mx.init.uniform(0.07),
                                          eval.metric=mx.metric.rmse,
                                          array.layout = "rowmajor",
                                          epoch.end.callback=mx.callback.log.train.metric(100))
    

    A1.MXmodel看起来像是你搞定了。我得到了可信的结果与Softmax输出(约60%的训练精度)。合并插入符号网格搜索进行超参数优化仍然存在一些问题,但我会将其保存到下一次。看起来你解决了。我得到了可信的结果与Softmax输出(约60%的训练精度)。在合并插入符号网格搜索进行超参数优化时仍然存在一些问题,但我会将其保存到下一次。
    
    A1.MXmodel <- mx.model.FeedForward.create(logoutput, X=train.x, y=train.y,
                                          ctx=mx.gpu(), num.round=1000, array.batch.size=100,
                                          learning.rate=0.01, momentum=0.9,
                                          initializer=mx.init.uniform(0.07),
                                          eval.metric=mx.metric.rmse,
                                          array.layout = "rowmajor",
                                          epoch.end.callback=mx.callback.log.train.metric(100))