public new static UAwareStackVectorMapper FromMatlabStruct(MatlabStruct s) { // s = struct(); // s.className=class(this); // mapperCount = length(this.instancesMappers); // mapperCell = cell(1, mapperCount); // for i=1:mapperCount // mapperCell{i} = this.instancesMappers{i}.toStruct(); // end // s.instancesMappers = this.instancesMappers; string className = s.GetString("className"); if (!className.Equals(MATLAB_CLASS)) { throw new ArgumentException("The input does not represent a " + MATLAB_CLASS); } object[,] mappersCell = s.GetCells("instancesMappers"); var mappers = new UAwareVectorMapper[mappersCell.GetLength(1)]; for (int i = 0; i < mappers.Length; i++) { var mapStruct = new MatlabStruct((Dictionary <string, object>)mappersCell[0, i]); VectorMapper m1 = VectorMapper.FromMatlabStruct(mapStruct); mappers[i] = (UAwareVectorMapper)m1; } return(new UAwareStackVectorMapper(mappers)); }
public override void MapAndEstimateU(out T mapped, out double[] uncertainty, out bool uncertain, params IKEPDist[] dists) { UAwareVectorMapper uvm = (UAwareVectorMapper)suffMapper; Vector mappedVec; uvm.MapAndEstimateU(out mappedVec, out uncertainty, out uncertain, dists); mapped = distBuilder.FromStat(mappedVec); }
public override double[] EstimateUncertainty(params IKEPDist[] msgs) { // double[] u = vm.EstimateUncertainty(new IKEPDist[]{d1, d2}); // return u; UAwareVectorMapper uvm = (UAwareVectorMapper)suffMapper; double[] u = uvm.EstimateUncertainty(msgs); return(u); }
// return the expected number of incoming messages // negative for any number. // public abstract int NumInputMessages(); // Load a FeatureMap in Matlab represented by the input // All FeatureMap objects can be serialized to struct with .toStruct() public static VectorMapper FromMatlabStruct(MatlabStruct s) { string className = s.GetString("className"); VectorMapper map = null; if (className.Equals("RandFourierGaussMVMap")) { map = RFGMVMap.FromMatlabStruct(s); } else if (className.Equals("CondFMFiniteOut")) { map = CondFMFiniteOut.FromMatlabStruct(s); } // else if(className.Equals("CondCholFiniteOut")){ // map = CondCholFiniteOut.FromMatlabStruct(s); // } else if (className.Equals(RFGJointKGG.MATLAB_CLASS)) { map = RFGJointKGG.FromMatlabStruct(s); } else if (className.Equals(StackVectorMapper.MATLAB_CLASS)) { map = StackVectorMapper.FromMatlabStruct(s); } else if (className.Equals(BayesLinRegFM.MATLAB_CLASS)) { map = BayesLinRegFM.FromMatlabStruct(s); } else if (className.Equals(UAwareVectorMapper.MATLAB_CLASS)) { map = UAwareVectorMapper.FromMatlabStruct(s); } else if (className.Equals(UAwareStackVectorMapper.MATLAB_CLASS)) { map = UAwareStackVectorMapper.FromMatlabStruct(s); } else { throw new ArgumentException("Unknown className: " + className); } // else if(className.Equals("RFGSumEProdMap")){ // // }else if(className.Equals("RFGEProdMap")){ // // }else if(className.Equals("RFGJointEProdMap")){ // // }else if(className.Equals("RFGProductEProdMap")){ // // } return(map); }
public new static UAwareVectorMapper FromMatlabStruct(MatlabStruct s) { string className = s.GetString("className"); UAwareVectorMapper map = null; if (className.Equals(MATLAB_CLASS)) { map = null; } else { throw new ArgumentException("Unknown className: " + className); } return(map); }
// suffMapper must implement IUAwareVectorMapper public UAwareGenericMapper(UAwareVectorMapper suffMapper, DistBuilder <T> distBuilder) : base(suffMapper, distBuilder) { }
protected UAwareDistMapper(UAwareVectorMapper suffMapper, DistBuilder <T> distBuilder) : base(suffMapper, distBuilder) { }