Создай на ts используя библиотеку @tensorflow/tfjs-node модель, которая на вход принимает одно число, а на выходе 2 числа после softmax.
import * as tf from '@tensorflow/tfjs-node';

// Определяем размерность входного тензора (batchSize = 1, inputSize = 1)
const inputShape = [1, 1];

// Определяем модель
const model = tf.sequential();
model.add(tf.layers.dense({
    units: 2, // Количество выходных нейронов
    inputShape: inputShape, // Размерность входного тензора
    activation: 'softmax' // Функция активации
}));

// Компилируем модель
model.compile({
    optimizer: 'sgd',
    loss: 'categoricalCrossentropy',
    metrics: ['accuracy']
});

// Определяем входные данные
const input = tf.tensor2d([5], inputShape);

// Предсказываем результат
model.predict(input).print();

В этом примере мы определяем модель с одним слоем, используя функцию tf.layers.dense, которая принимает количество выходных нейронов, размерность входного тензора и функцию активации. Затем мы компилируем модель, используя оптимизатор sgd, функцию потерь categoricalCrossentropy и метрику accuracy.

Для тестирования модели мы определяем входные данные в виде тензора input, который состоит из одного числа. Затем мы используем метод predict для получения предсказаний модели на основе входных данных. Результат выводится в консоль с помощью метода print().

Обратите внимание, что в этом примере мы используем только одно число в качестве входных данных, но вы можете легко изменить размерность входного тензора, чтобы принимать в модель массивы чисел.
Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:

Создай на ts используя библиотеку @tensorflow/tfjs-node модель, которая на вход принимает одно число, а на выходе 2 числа после softmax.

### Response:

import * as tf from '@tensorflow/tfjs-node';

// Определяем размерность входного тензора (batchSize = 1, inputSize = 1)
const inputShape = [1, 1];

// Определяем модель
const model = tf.sequential();
model.add(tf.layers.dense({
    units: 2, // Количество выходных нейронов
    inputShape: inputShape, // Размерность входного тензора
    activation: 'softmax' // Функция активации
}));

// Компилируем модель
model.compile({
    optimizer: 'sgd',
    loss: 'categoricalCrossentropy',
    metrics: ['accuracy']
});

// Определяем входные данные
const input = tf.tensor2d([5], inputShape);

// Предсказываем результат
model.predict(input).print();

В этом примере мы определяем модель с одним слоем, используя функцию tf.layers.dense, которая принимает количество выходных нейронов, размерность входного тензора и функцию активации. Затем мы компилируем модель, используя оптимизатор sgd, функцию потерь categoricalCrossentropy и метрику accuracy.

Для тестирования модели мы определяем входные данные в виде тензора input, который состоит из одного числа. Затем мы используем метод predict для получения предсказаний модели на основе входных данных. Результат выводится в консоль с помощью метода print().

Обратите внимание, что в этом примере мы используем только одно число в качестве входных данных, но вы можете легко изменить размерность входного тензора, чтобы принимать в модель массивы чисел.
