|
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Tensorflow.NumPy;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Tensorflow;
- using static Tensorflow.Binding;
- using static Tensorflow.KerasApi;
- using Tensorflow.Keras;
- using Tensorflow.Keras.ArgsDefinition;
- using Tensorflow.Keras.Engine;
- using Tensorflow.Keras.Layers;
- using Tensorflow.Keras.Losses;
- using Tensorflow.Keras.Metrics;
- using Tensorflow.Keras.Optimizers;
-
- namespace TensorFlowNET.Keras.UnitTest;
-
- // class MNISTLoader
- // {
- // public MNISTLoader()
- // {
- // var mnist = new MnistModelLoader()
- //
- // }
- // }
-
- [TestClass]
- public class SaveTest
- {
- [TestMethod]
- public void Test()
- {
- var inputs = new KerasInterface().Input((28, 28, 1));
- var x = new Flatten(new FlattenArgs()).Apply(inputs);
- x = new Dense(new DenseArgs() { Units = 100, Activation = tf.nn.relu }).Apply(x);
- x = new LayersApi().Dense(units: 10).Apply(x);
- var outputs = new LayersApi().Softmax(axis: 1).Apply(x);
- var model = new KerasInterface().Model(inputs, outputs);
-
- model.compile(new Adam(0.001f), new LossesApi().SparseCategoricalCrossentropy(), new string[]{"accuracy"});
-
- var data_loader = new MnistModelLoader();
- var num_epochs = 1;
- var batch_size = 50;
-
- var dataset = data_loader.LoadAsync(new ModelLoadSetting
- {
- TrainDir = "mnist",
- OneHot = false,
- ValidationSize = 0,
- }).Result;
-
- model.fit(dataset.Train.Data, dataset.Train.Labels, batch_size, num_epochs);
-
- model.save("C:\\Work\\tf.net\\tf_test\\tf.net.model", save_format:"pb");
- }
- }
|