如何使用CNTK创建numpy.float64的密集层?

时间:2017-09-17 12:56:58

标签: python-3.x cntk

我是cntk和python的新手。多年来,我用c#在各种库中完成了机器学习。

为了帮助我学习cntk和python我用UCI葡萄酒数据集做了一个简单的分类项目。现在我只做一个隐藏图层,我计划在一个隐藏图层工作后添加更多隐藏图层。

我在创建一个dtype为numpy.float64的隐藏Dense图层时遇到问题。我知道float32更快。我希望将我的下划线数据设置为float64,因为未来的项目是必需的。

我在互联网上寻求帮助但无法获得答案。我尝试的最后一件事是使用dtype = numpy.float64创建输入并将输入传递给Dense,但这也不起作用。在过去,我在函数内部尝试过“使用cntk.layers.default_options(dtype = numpy.float64)”但它不接受带或不带名称的numpy.float64。我也尝试在从Dense返回的内容上调用update_signature(numpy.float64),我得到了同样的错误。我会告诉你我尝试过的其他事情,但老实说我现在不记得了。

这是我最新的代码:

inputsCount = 11
classesCount = 2
inputs = cntk.input_variable(shape=(inputsCount), dtype=numpy.float64)
model = cntk.layers.Dense(classesCount, activation=None)(inputs)

这是我得到的错误:

  

ValueError:原始操作''Times'传递操作数的参数('W',[],   [? x 2]),占位符('Placeholder135',[#],[11])'与不同   DataTypes'Float'和'Double'。

1 个答案:

答案 0 :(得分:0)

你能试试吗?

inputsCount = 11
classesCount = 2
with cntk.default_options(dtype=numpy.float64):
    inputs = cntk.input_variable(shape=(inputsCount))
    model = cntk.layers.Dense(classesCount, activation=None)(inputs)