forked from SciSharp/TensorFlow.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtf.init.cs
More file actions
104 lines (91 loc) · 4.27 KB
/
tf.init.cs
File metadata and controls
104 lines (91 loc) · 4.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*****************************************************************************
Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
******************************************************************************/
using Tensorflow.Operations.Initializers;
namespace Tensorflow
{
public partial class tensorflow
{
public InitializersImpl initializers { get; } = new InitializersImpl();
public IInitializer constant_initializer<T>(T value, TF_DataType dtype = TF_DataType.TF_FLOAT, bool verify_shape = false)
=> new Constant<T>(value, dtype: dtype, verify_shape: verify_shape);
public IInitializer zeros_initializer => new Zeros();
public IInitializer ones_initializer => new Ones();
public IInitializer glorot_uniform_initializer => new GlorotUniform();
public IInitializer random_uniform_initializer => new RandomUniform();
public IInitializer orthogonal_initializer => new Orthogonal();
public variable_scope variable_scope(string name,
string default_name = null,
Tensor[] values = null,
bool? reuse = null,
bool auxiliary_name_scope = true) => new variable_scope(name,
default_name,
values,
reuse: reuse,
auxiliary_name_scope: auxiliary_name_scope);
public variable_scope variable_scope(VariableScope scope,
string default_name = null,
Tensor[] values = null,
bool? reuse = null,
bool auxiliary_name_scope = true) => new variable_scope(scope,
default_name,
values,
reuse: reuse,
auxiliary_name_scope: auxiliary_name_scope);
public IInitializer truncated_normal_initializer(float mean = 0.0f,
float stddev = 1.0f,
int? seed = null,
TF_DataType dtype = TF_DataType.DtInvalid) => new TruncatedNormal(mean: mean,
stddev: stddev,
seed: seed,
dtype: dtype);
public IInitializer random_normal_initializer(float mean = 0.0f,
float stddev = 1.0f,
int? seed = null,
TF_DataType dtype = TF_DataType.DtInvalid) => new RandomNormal(mean: mean,
stddev: stddev,
seed: seed,
dtype: dtype);
/// <summary>
/// Initializer capable of adapting its scale to the shape of weights tensors.
/// </summary>
/// <param name="factor"></param>
/// <param name="mode"></param>
/// <param name="uniform"></param>
/// <param name="seed"></param>
/// <param name="dtype"></param>
/// <returns></returns>
public IInitializer variance_scaling_initializer(float factor = 1.0f,
string mode = "FAN_IN",
bool uniform = false,
int? seed = null,
TF_DataType dtype = TF_DataType.TF_FLOAT) => new VarianceScaling(
factor: factor,
mode: mode,
uniform: uniform,
seed: seed,
dtype: dtype);
public class InitializersImpl
{
public IInitializer random_normal_initializer(float mean = 0.0f,
float stddev = 0.05f,
int? seed = null,
TF_DataType dtype = TF_DataType.TF_FLOAT) => new RandomNormal(mean: mean,
stddev: stddev,
seed: seed,
dtype: dtype);
public IInitializer zeros_initializer(Shape shape = null,
TF_DataType dtype = TF_DataType.TF_FLOAT) => new Zeros(shape: shape,
dtype: dtype);
}
}
}