コード例 #1
0
ファイル: FCN7.cs プロジェクト: KIWI-ST/kiwi.orleans
 /// <summary>
 ///
 /// </summary>
 /// <param name="inputs"></param>
 /// <param name="outputs"></param>
 /// <returns></returns>
 public double Train(float[][] inputs, float[][] outputs)
 {
     //ensure that data is destroyed after use
     using (Value inputsValue = Value.CreateBatch(inputVariable.Shape, NP.ToOneDimensional(inputs), device))
         using (Value outputsValue = Value.CreateBatch(outputVariable.Shape, NP.ToOneDimensional(outputs), device))
         {
             traindEpochs++;
             var miniBatch = new Dictionary <Variable, Value>()
             {
                 { inputVariable, inputsValue }, { outputVariable, outputsValue }
             };
             trainer.TrainMinibatch(miniBatch, false, device);
             return(trainer.PreviousMinibatchEvaluationAverage());
         }
 }
コード例 #2
0
ファイル: FCN7.cs プロジェクト: KIWI-ST/kiwi.orleans
 public float[][] Predicts(float[][] inputs)
 {
     using (Value inputsValue = Value.CreateBatch(inputVariable.Shape, NP.ToOneDimensional(inputs), device))
     {
         var inputDict = new Dictionary <Variable, Value>()
         {
             { inputVariable, inputsValue }
         };
         var outputDict = new Dictionary <Variable, Value>()
         {
             { classifierOutput.Output, null }
         };
         classifierOutput.Evaluate(inputDict, outputDict, device);
         var       prdict  = outputDict[classifierOutput.Output].GetDenseData <float>(classifierOutput.Output);
         float[][] outputs = new float[inputs.Length][];
         for (int i = 0; i < inputs.Length; i++)
         {
             outputs[i] = prdict[i].ToArray();
         }
         return(outputs);
     }
 }