public override Symbol Build(Symbol data) { var weightName = UUID.GetID(ID + "_w"); var biasName = UUID.GetID(ID + "_b"); var bias = UseBias ? Symbol.Variable(biasName) : null; InitParams.Add(weightName, KernalInitializer); if (UseBias) { InitParams.Add(biasName, BiasInitializer); } ConstraintParams.Add(weightName, KernalConstraint); if (UseBias) { ConstraintParams.Add(biasName, BiasConstraint); } RegularizerParams.Add(weightName, KernalRegularizer); if (UseBias) { RegularizerParams.Add(biasName, BiasRegularizer); } var l = sym.FullyConnected(data, Symbol.Variable(weightName), Dim, bias, !UseBias, true, ID); if (Activation != ActivationType.Linear) { var act = ActivationRegistry.Get(Activation); l = act.Build(l); } return(l); }
public Dense(int dim, ActType activation = ActType.Linear, BaseInitializer kernalInitializer = null, BaseRegularizer kernalRegularizer = null, BaseConstraint kernalConstraint = null, bool useBias = true, BaseInitializer biasInitializer = null, BaseRegularizer biasRegularizer = null, BaseConstraint biasConstraint = null) : base("dense") { Dim = dim; Act = ActivationRegistry.Get(activation); UseBias = useBias; KernalInitializer = kernalInitializer ?? new GlorotUniform(); BiasInitializer = biasInitializer ?? new Zeros(); KernalConstraint = kernalConstraint; BiasConstraint = biasConstraint; KernalRegularizer = kernalRegularizer; BiasRegularizer = biasRegularizer; }
public override Symbol Build(Symbol x) { var biasName = UUID.GetID(ID + "_b"); var weightName = UUID.GetID(ID + "_w"); var bias = UseBias ? Symbol.Variable(biasName) : null; Shape pad = null; if (Padding.HasValue) { pad = new Shape(Padding.Value, Padding.Value, Padding.Value); } else { pad = new Shape(); } if (UseBias) { InitParams.Add(biasName, BiasInitializer); } InitParams.Add(weightName, KernalInitializer); ConstraintParams.Add(weightName, KernalConstraint); if (UseBias) { ConstraintParams.Add(biasName, BiasConstraint); } RegularizerParams.Add(weightName, KernalRegularizer); if (UseBias) { RegularizerParams.Add(biasName, BiasRegularizer); } var conv = sym.Deconvolution(x, Symbol.Variable(weightName), new Shape(KernalSize.Item1, KernalSize.Item2, KernalSize.Item3), Filters, new Shape(Strides.Item1, Strides.Item2, Strides.Item3), new Shape(DialationRate.Item1, DialationRate.Item2, DialationRate.Item3), pad, new Shape(), new Shape(), bias, !UseBias, 1, 512, null, false, null, ID); if (Activation != ActivationType.Linear) { var act = ActivationRegistry.Get(Activation); conv = act.Build(conv); } return(conv); }
public Dense( int dim, ActivationType activation = ActivationType.Linear, BaseInitializer weightInitializer = null, bool useBias = false, BaseInitializer biasInitializer = null) : base("dense") { Dim = dim; Activation = ActivationRegistry.Get(activation); UseBias = useBias; WeightInitializer = weightInitializer ?? new GlorotUniform(); if (useBias) { BiasInitializer = biasInitializer ?? new Zeros(); } }
public static ActivationRegistry <IPipelineAction> RegisterStandardServices(IServiceCollection services, IDataStore testsDataStore, LogEventLevel logEventLevel) { Log.Logger = new LoggerConfiguration() .Enrich.FromLogContext() .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Scope} {Message:lj}{NewLine}{Exception}") .MinimumLevel.Is(logEventLevel) .CreateLogger(); services.AddLogging(loggingBuilder => loggingBuilder.AddSerilog(dispose: true)); services.AddSingleton <Testing.CyberTester>(); services.AddSingleton <ITestStorage, DataStoreBasedTestStorage>(); //DataStores. unnamed one is the default services.AddSingleton <IDataStoreProvider, DataStoreProvider>(); services.AddSingleton <IDataStore>(testsDataStore); //Tests selection services.AddSingleton <Func <IDataStore, bool> >((dataStore) => dataStore.Contains(".test")); //content/stream transformation //TODO services.AddSingleton <IContentProcessor, ContentProcessor>(); services.AddSingleton <IObjectFactory <IPipelineAction>, ObjectFactory <IPipelineAction> >(); services.AddSingleton <IObjectFactory <IStreamTransformer>, ObjectFactory <IStreamTransformer> >(); var actionsRegistry = new ActivationRegistry <IPipelineAction>(); services.AddSingleton(actionsRegistry); RegisterBuiltInActions(actionsRegistry); var transformersRegistry = new ActivationRegistry <IStreamTransformer>(); services.AddSingleton(transformersRegistry); RegisterBuiltInStreamTransformers(transformersRegistry); services.AddSingleton <ITokenSelectorProvider>(sp => new PropertyBasedTokenSelectorProvider("id")); services.AddSingleton <HttpClient>(); return(actionsRegistry); }
public static void RegisterBuiltInActions(ActivationRegistry <IPipelineAction> registry) { registry.Register <HttpNoBodyAction>("http.get", new Dictionary <string, object> { { "httpMethod", HttpMethod.Get } }); registry.Register <HttpAction>("http.put", new Dictionary <string, object> { { "httpMethod", HttpMethod.Put } }); registry.Register <HttpAction>("http.post", new Dictionary <string, object> { { "httpMethod", HttpMethod.Post } }); registry.Register <HttpNoBodyAction>("http.delete", new Dictionary <string, object> { { "httpMethod", HttpMethod.Delete } }); registry.Register <JsonSelectAction>("json.select"); registry.Register <JsonSelectManyAction>("json.select_many"); registry.Register <JsonRemoveAction>("json.remove"); registry.Register <JsonReplaceAction>("json.replace"); registry.Register <JsonOrderAction>("json.order"); registry.Register <JsonEditAction>("json.edit"); registry.Register <JsonValidateAction>("json.validate"); registry.Register <ToJTokenAction>("to_jtoken"); registry.Register <LoadItemAction>("item.load"); registry.Register <SaveItemAction>("item.save"); registry.Register <SetItemAction>("item.set"); registry.Register <AssertItemAction>("assert"); registry.Register <AssertContentDiffAction>("assert_diff"); registry.Register <AssertContentJsonAction>("assert.json"); registry.Register <SleepAction>("sleep"); registry.Register <ExecuteAction>("execute"); //registry.Register<LogInfoAction>("log.info"); }
public static void RegisterBuiltInStreamTransformers(ActivationRegistry <IStreamTransformer> registry) { registry.Register <ConcatStreamTransformer>("concat"); registry.Register <ConcatJsonArrayStreamTransformer>("concatArray"); registry.Register <RefStreamTransformer>("ref"); }
public static void RegisterActions(ActivationRegistry <IPipelineAction> registry) { registry.Register <HelloWorldAction>("hello_world"); }