【问题标题】:How to feed data from a numpy array to train a CNTK regression model如何从 numpy 数组中输入数据来训练 CNTK 回归模型
【发布时间】:2019-04-06 23:57:12
【问题描述】:

我在一维 numpy 数组中生成了一些随机值,我试图将这些数据输入我创建的 CNTK 模型(下面的代码)来训练它。但是根据我的方法,我遇到了不同的错误。

我创建的神经网络:

mean = 10
stdev = 2 
x = np.random.normal(mean, stdev, 1000)
y = 2 * x + 25

inputs = c.input_variable(1) #Number of variables
labels = c.input_variable(1) #Number of results
layer1 = Dense(1000, activation = c.relu) #input layer with 1000 neurons
layer2 = Dense(1000, activation = c.relu) #hidden layer with 1000 neurons
layer3 = Dense(1, activation = None) #output layer with 1 neuron
model1 = Sequential([layer1, layer2, layer3])
result = model1(inputs)
loss = c.squared_error(result, labels)
learner = c.sgd(model1.parameters, c.learning_parameter_schedule(0.01))
progress_writer = c.logging.ProgressPrinter(0) 

对于以下方法 (https://cntk.ai/pythondocs/Manual_How_to_feed_data.html) 我收到此错误:

RuntimeError: The Variable 'Input('Input4', [#], [1])' DataType Float 与对应 Value 的 DataType Double 不匹配

progress_writer = c.logging.ProgressPrinter(0)
trainer = loss.train((x,y), parameter_learners = [learner], callbacks=[progress_writer])

对于这种其他方法,我得到:

ValueError:具有多个输入的节点不支持非字典参数(ndarray)

trainer = c.Trainer(result, loss, [learner])
trainer.train_minibatch((x,y))

有人可以帮我吗?

【问题讨论】:

    标签: python-3.x linear-regression cntk


    【解决方案1】:

    trainer.train_minibatch() 只需要一个字典。所以应该是这样的:

    data = {inputs: x, labels: y}
    trainer.train_minibatch(data)
    

    【讨论】:

    • 但是 inputsx(就像 labelsy 一样)具有不同的维度.在这种情况下,您有什么建议?
    • 用正确的形状定义你的输入和标签。 inputs = c.input_variable(shape=...) #变量数 label = c.input_variable(shape=...) #结果数
    【解决方案2】:

    我找到了。感谢您的提示@snowflake,但除了您指出的内容之外,它还有另一个与 numpy 形状有关的错误。它是一个向量,但是,cntk 使用矩阵。所以我只是重塑它:

    x = x.reshape(1000,1)
    

    并接受如下训练:

    trainer.train_minibatch({inputs: x, labels: y})
    
    

    【讨论】:

      猜你喜欢
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 2017-08-26
      • 1970-01-01
      • 2020-02-08
      • 2018-12-11
      • 1970-01-01
      相关资源
      最近更新 更多