Apache SystemML 标量矩阵(元素明智)乘法不起作用
Apache SystemML scalar-martix (elementwise) multiplication not working
请考虑以下代码:
#update
W1 = W1 - learningRate * dJdW1
W2 = W2 - learningRate * dJdW2
其中 learningRate 是 double 和 dJdW1/dJdW1 二维矩阵。
我收到这个错误:
ERROR: Runtime error in program block generated from statement block between lines 58 and 61 -- Error evaluating instruction: CP\xb0-*\xb0W2\xb7MATRIX\xb7DOUBLE\xb01.0E-5\xb7SCALAR\xb7DOUBLE\xb7true\xb0dJdW2\xb7MATRIX\xb7DOUBLE\xb0_mVar117\xb7MATRIX\xb7DOUBLE
编辑 12.7.17:
加上这个...
ordinal not in range(128)'))
可以找到整个DMLhere
可以找到完整的错误here
整个jupyther notebook都能找到here
单元格标量矩阵运算很好。查看您的错误,它说您的 matrix/vector 尺寸不兼容:
: Block sizes are not matched for binary cell operations: 3x1 vs 2x3
org.apache.sysml.runtime.matrix.data.MatrixBlock.binaryOperations(MatrixBlock.java:2872)
org.apache.sysml.runtime.instructions.cp.PlusMultCPInstruction.processInstruction(PlusMultCPInstruction.java:66)
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:290)
查看您的笔记本,这来自:
W2 = W2 - learningRate * dJdW2
W2 已初始化 W2 = rand(rows=hiddenLayerSize,cols=outputLayerSize)
作为 3x1 矩阵,而 dJDW2 是 2x3 矩阵。
请考虑以下代码:
#update
W1 = W1 - learningRate * dJdW1
W2 = W2 - learningRate * dJdW2
其中 learningRate 是 double 和 dJdW1/dJdW1 二维矩阵。
我收到这个错误:
ERROR: Runtime error in program block generated from statement block between lines 58 and 61 -- Error evaluating instruction: CP\xb0-*\xb0W2\xb7MATRIX\xb7DOUBLE\xb01.0E-5\xb7SCALAR\xb7DOUBLE\xb7true\xb0dJdW2\xb7MATRIX\xb7DOUBLE\xb0_mVar117\xb7MATRIX\xb7DOUBLE
编辑 12.7.17:
加上这个...
ordinal not in range(128)'))
可以找到整个DMLhere
可以找到完整的错误here
整个jupyther notebook都能找到here
单元格标量矩阵运算很好。查看您的错误,它说您的 matrix/vector 尺寸不兼容:
: Block sizes are not matched for binary cell operations: 3x1 vs 2x3
org.apache.sysml.runtime.matrix.data.MatrixBlock.binaryOperations(MatrixBlock.java:2872)
org.apache.sysml.runtime.instructions.cp.PlusMultCPInstruction.processInstruction(PlusMultCPInstruction.java:66)
org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:290)
查看您的笔记本,这来自:
W2 = W2 - learningRate * dJdW2
W2 已初始化 W2 = rand(rows=hiddenLayerSize,cols=outputLayerSize) 作为 3x1 矩阵,而 dJDW2 是 2x3 矩阵。