34 import daal.algorithms.optimization_solver
as optimization_solver
35 import daal.algorithms.optimization_solver.mse
37 from daal.data_management
import (
38 DataSourceIface, FileDataSource, HomogenNumericTable, MergedNumericTable, NumericTableIface
41 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
42 if utils_folder
not in sys.path:
43 sys.path.insert(0, utils_folder)
44 from utils
import printNumericTable
46 datasetFileName = os.path.join(
'..',
'data',
'batch',
'mse.csv')
49 argumentValue = np.array([[-1], [0.1], [0.15], [-0.5]], dtype=np.float64)
51 if __name__ ==
"__main__":
54 dataSource = FileDataSource(datasetFileName,
55 DataSourceIface.notAllocateNumericTable,
56 DataSourceIface.doDictionaryFromContext)
59 data = HomogenNumericTable(nFeatures, 0, NumericTableIface.doNotAllocate)
60 dependentVariables = HomogenNumericTable(1, 0, NumericTableIface.doNotAllocate)
61 mergedData = MergedNumericTable(data, dependentVariables)
64 dataSource.loadDataBlock(mergedData)
66 nVectors = data.getNumberOfRows()
69 mseObjectiveFunction = optimization_solver.mse.Batch(nVectors)
72 mseObjectiveFunction.input.set(optimization_solver.mse.data, data)
73 mseObjectiveFunction.input.set(optimization_solver.mse.dependentVariables, dependentVariables)
74 mseObjectiveFunction.input.set(optimization_solver.mse.argument, HomogenNumericTable(argumentValue))
75 mseObjectiveFunction.parameter().resultsToCompute = (
76 optimization_solver.objective_function.gradient |
77 optimization_solver.objective_function.value |
78 optimization_solver.objective_function.hessian
83 res = mseObjectiveFunction.compute()
86 printNumericTable(res.get(optimization_solver.objective_function.valueIdx),
88 printNumericTable(res.get(optimization_solver.objective_function.gradientIdx),
90 printNumericTable(res.get(optimization_solver.objective_function.hessianIdx),