32 import daal.algorithms.optimization_solver
as optimization_solver
33 import daal.algorithms.optimization_solver.mse
35 from daal.data_management
import (
36 DataSourceIface, FileDataSource, HomogenNumericTable, MergedNumericTable, NumericTableIface
39 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
40 if utils_folder
not in sys.path:
41 sys.path.insert(0, utils_folder)
42 from utils
import printNumericTable
44 datasetFileName = os.path.join(
'..',
'data',
'batch',
'mse.csv')
47 argumentValue = np.array([[-1], [0.1], [0.15], [-0.5]], dtype=np.float64)
49 if __name__ ==
"__main__":
52 dataSource = FileDataSource(datasetFileName,
53 DataSourceIface.notAllocateNumericTable,
54 DataSourceIface.doDictionaryFromContext)
57 data = HomogenNumericTable(nFeatures, 0, NumericTableIface.doNotAllocate)
58 dependentVariables = HomogenNumericTable(1, 0, NumericTableIface.doNotAllocate)
59 mergedData = MergedNumericTable(data, dependentVariables)
62 dataSource.loadDataBlock(mergedData)
64 nVectors = data.getNumberOfRows()
67 mseObjectiveFunction = optimization_solver.mse.Batch(nVectors)
70 mseObjectiveFunction.input.set(optimization_solver.mse.data, data)
71 mseObjectiveFunction.input.set(optimization_solver.mse.dependentVariables, dependentVariables)
72 mseObjectiveFunction.input.set(optimization_solver.mse.argument, HomogenNumericTable(argumentValue))
73 mseObjectiveFunction.parameter().resultsToCompute = (
74 optimization_solver.objective_function.gradient |
75 optimization_solver.objective_function.value |
76 optimization_solver.objective_function.hessian
81 res = mseObjectiveFunction.compute()
84 printNumericTable(res.get(optimization_solver.objective_function.valueIdx),
86 printNumericTable(res.get(optimization_solver.objective_function.gradientIdx),
88 printNumericTable(res.get(optimization_solver.objective_function.hessianIdx),