|
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using System;
- using static Tensorflow.Binding;
- using static Tensorflow.KerasApi;
-
- namespace Tensorflow.Keras.UnitTest.Model
- {
- [TestClass]
- public class ModelBuildTest
- {
- [TestMethod]
- public void DenseBuild()
- {
- // two dimensions input with unknown batchsize
- var input = tf.keras.layers.Input((17, 60));
- var dense = tf.keras.layers.Dense(64);
- var output = dense.Apply(input);
- var model = tf.keras.Model(input, output);
- model.compile(tf.keras.optimizers.Adam(), tf.keras.losses.CategoricalCrossentropy());
-
- // one dimensions input with unknown batchsize
- var input_2 = tf.keras.layers.Input((60));
- var dense_2 = tf.keras.layers.Dense(64);
- var output_2 = dense_2.Apply(input_2);
- var model_2 = tf.keras.Model(input_2, output_2);
- model_2.compile(tf.keras.optimizers.Adam(), tf.keras.losses.CategoricalCrossentropy());
-
- // two dimensions input with specified batchsize
- var input_3 = tf.keras.layers.Input((17, 60), 8);
- var dense_3 = tf.keras.layers.Dense(64);
- var output_3 = dense_3.Apply(input_3);
- var model_3 = tf.keras.Model(input_3, output_3);
- model_3.compile(tf.keras.optimizers.Adam(), tf.keras.losses.CategoricalCrossentropy());
-
- // one dimensions input with specified batchsize
- var input_4 = tf.keras.layers.Input((60), 8);
- var dense_4 = tf.keras.layers.Dense(64);
- var output_4 = dense_4.Apply(input_4);
- var model_4 = tf.keras.Model(input_4, output_4);
- model_4.compile(tf.keras.optimizers.Adam(), tf.keras.losses.CategoricalCrossentropy());
- }
-
- [TestMethod]
- public void NestedSequential()
- {
- var block1 = keras.Sequential(new[] {
- keras.layers.InputLayer((3, 3)),
- keras.Sequential(new []
- {
- keras.layers.Flatten(),
- keras.layers.Dense(5)
- }
- )
- });
- block1.compile(tf.keras.optimizers.Adam(), tf.keras.losses.CategoricalCrossentropy());
-
- var x = tf.ones((1, 3, 3));
- var y = block1.predict(x);
- Console.WriteLine(y);
- }
- }
- }
|