예제 #1
0
        /// <summary>入力ノードの値を更新</summary>
        /// <param name="input_node">更新対象の入力ノード</param>
        /// <remarks>入力ノードのテンソルは割り当て済みである必要がある</remarks>
        public OutputNode Update(InputNode input_node)
        {
            if (input_node.Tensor == null)
            {
                throw new ArgumentException("Input node tensor needs to be assigned.");
            }

            return(new OutputNode(this, input_node.Tensor, input_node.Name));
        }
예제 #2
0
        /// <summary>正規乱数を生成(XorShift, Box-Muller Method)</summary>
        public static InputNode NormalRandom(Shape shape, Random random)
        {
            Tensor y = new Tensor(shape);

            InputNode inputnode = y;

            inputnode.Initializer = new Initializers.Normal(y, random);

            return(inputnode);
        }
예제 #3
0
        /// <summary>ベルヌーイ分布に従う2値</summary>
        public static InputNode BinaryRandom(Shape shape, Random random, float prob)
        {
            Tensor y = new Tensor(shape);

            InputNode inputnode = y;

            inputnode.Initializer = new Initializers.Binary(y, random, prob);

            return(inputnode);
        }