58 import daal.algorithms.optimization_solver
as optimization_solver
59 import daal.algorithms.optimization_solver.mse
61 from daal.data_management
import (
62 DataSourceIface, FileDataSource, HomogenNumericTable, MergedNumericTable, NumericTableIface
65 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
66 if utils_folder
not in sys.path:
67 sys.path.insert(0, utils_folder)
68 from utils
import printNumericTable
70 datasetFileName = os.path.join(
'..',
'data',
'batch',
'mse.csv')
73 argumentValue = np.array([[-1], [0.1], [0.15], [-0.5]], dtype=np.float64)
75 if __name__ ==
"__main__":
78 dataSource = FileDataSource(datasetFileName,
79 DataSourceIface.notAllocateNumericTable,
80 DataSourceIface.doDictionaryFromContext)
83 data = HomogenNumericTable(nFeatures, 0, NumericTableIface.doNotAllocate)
84 dependentVariables = HomogenNumericTable(1, 0, NumericTableIface.doNotAllocate)
85 mergedData = MergedNumericTable(data, dependentVariables)
88 dataSource.loadDataBlock(mergedData)
90 nVectors = data.getNumberOfRows()
93 mseObjectiveFunction = optimization_solver.mse.Batch(nVectors)
96 mseObjectiveFunction.input.set(optimization_solver.mse.data, data)
97 mseObjectiveFunction.input.set(optimization_solver.mse.dependentVariables, dependentVariables)
98 mseObjectiveFunction.input.set(optimization_solver.mse.argument, HomogenNumericTable(argumentValue))
99 mseObjectiveFunction.parameter.resultsToCompute = (
100 optimization_solver.objective_function.gradient |
101 optimization_solver.objective_function.value |
102 optimization_solver.objective_function.hessian
107 res = mseObjectiveFunction.compute()
110 printNumericTable(res.get(optimization_solver.objective_function.valueIdx),
112 printNumericTable(res.get(optimization_solver.objective_function.gradientIdx),
114 printNumericTable(res.get(optimization_solver.objective_function.hessianIdx),