internal DateTimeTransformer(IHostEnvironment host, string inputColumnName, string columnPrefix, DateTimeEstimator.HolidayList country) : base(host.Register(nameof(DateTimeTransformer))) { host.Check(!CommonExtensions.OsIsCentOS7(), "CentOS7 is not supported"); _column = new LongTypedColumn(inputColumnName, columnPrefix); _column.CreateTransformerFromEstimator(country); }
internal DateTimeTransformer(IHostEnvironment host, string inputColumnName, string columnPrefix, DateTimeEstimator.HolidayList country, DataViewSchema schema) : base(host.Register(nameof(DateTimeTransformer))) { _schema = schema; if (_schema[inputColumnName].Type.RawType != typeof(long) && _schema[inputColumnName].Type.RawType != typeof(DateTime)) { throw new Exception($"Unsupported type {_schema[inputColumnName].Type.RawType} for input column ${inputColumnName}. Only long and System.DateTime are supported"); } _column = new LongTypedColumn(inputColumnName, columnPrefix); _column.CreateTransformerFromEstimator(country); }
// Factory method for SignatureLoadModel. internal DateTimeTransformer(IHostEnvironment host, ModelLoadContext ctx) : base(host.Register(nameof(DateTimeTransformer))) { Host.CheckValue(ctx, nameof(ctx)); host.Check(!CommonExtensions.OsIsCentOS7(), "CentOS7 is not supported"); ctx.CheckAtModel(GetVersionInfo()); // *** Binary format *** // name of input column // column prefix // length of C++ state array // C++ byte state array _column = new LongTypedColumn(ctx.Reader.ReadString(), ctx.Reader.ReadString()); var dataLength = ctx.Reader.ReadInt32(); var data = ctx.Reader.ReadByteArray(dataLength); _column.CreateTransformerFromSavedData(data); }