I know this is eventually going to be addressed as part of implementing support for multiple objectives, but right now if the analyzer returns a list of values, ARES OS throws the following error:
Failed to analyze experiment result: Call to analyzer has failed: Grpc.Core.RpcException: Status(StatusCode="Internal", Detail="Error in custom analysis logic: must be real number, not list") at Ares.Core.Analyzing.RemoteAnalyzer.Analyze(AnalysisRequest request, CancellationToken cancellationToken) in /Users/runner/work/ARES/ARES/Ares.Core/Analyzing/RemoteAnalyzer.cs:line 35 at Ares.Core.Analyzing.AnalysisHelper.Analyze(ExperimentTemplate template, ExperimentExecutionSummary experimentSummary, ExperimentExecutionSummary startupSummary, RequestMetadata metadata, CancellationToken cancellationToken) in /Users/runner/work/ARES/ARES/Ares.Core/Analyzing/AnalysisHelper.cs:line 53
How necessary is this check that the response in a real number? in the short term, allowing the response to be a list or a struct could allow people to jerry rig a multi-objective analyzer.
I know this is eventually going to be addressed as part of implementing support for multiple objectives, but right now if the analyzer returns a list of values, ARES OS throws the following error:
Failed to analyze experiment result: Call to analyzer has failed: Grpc.Core.RpcException: Status(StatusCode="Internal", Detail="Error in custom analysis logic: must be real number, not list") at Ares.Core.Analyzing.RemoteAnalyzer.Analyze(AnalysisRequest request, CancellationToken cancellationToken) in /Users/runner/work/ARES/ARES/Ares.Core/Analyzing/RemoteAnalyzer.cs:line 35 at Ares.Core.Analyzing.AnalysisHelper.Analyze(ExperimentTemplate template, ExperimentExecutionSummary experimentSummary, ExperimentExecutionSummary startupSummary, RequestMetadata metadata, CancellationToken cancellationToken) in /Users/runner/work/ARES/ARES/Ares.Core/Analyzing/AnalysisHelper.cs:line 53How necessary is this check that the response in a real number? in the short term, allowing the response to be a list or a struct could allow people to jerry rig a multi-objective analyzer.