我是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'。
答案 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)