ターミナルで以下のコマンドを使用して、@tensorflow/tfjs-nodeライブラリを含む依存関係をインストールします：

```
java

npm install @tensorflow/tfjs-node

model.tsファイルを作成し、必要な依存関係をimportする：
typescript

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

1つの数値を受け取り、ソフトマックスの後に2つの数値を返すcreateModel関数を作成する：
typescript

export function createModel(): tf.LayersModel { 
  const model = tf.sequential()；

  // 入力レイヤーを追加
  model.add(tf.layers.dense({
    inputShape: [1],
    units: 1,
    activation: 'relu'
  }));

  // 出力レイヤーを追加する
  model.add(tf.layers.dense({
    units: 2、
    activation: 'softmax'
  }));

  // モデルをコンパイルする
  model.compile({
    loss: 'categoricalCrossentropy',
    optimizer: tf.train.adam(),
    metrics: ['accuracy']
  });

  return model；
}


将来使用するために、createModel関数をエクスポートします：

typescript

export default createModel;
```

完了！このモデルを使って、ソフトマックスの後に2つの数値を予測することができます。
Установите зависимости, включая библиотеку @tensorflow/tfjs-node, используя следующую команду в вашем терминале:

java

npm install @tensorflow/tfjs-node
Создайте файл model.ts и импортируйте необходимые зависимости:
typescript

import * as tf from '@tensorflow/tfjs-node';
Создайте функцию createModel, которая будет принимать одно число и возвращать 2 числа после softmax:
typescript

export function createModel(): tf.LayersModel {
  const model = tf.sequential();

  // Добавляем входной слой
  model.add(tf.layers.dense({
    inputShape: [1],
    units: 1,
    activation: 'relu'
  }));

  // Добавляем выходной слой
  model.add(tf.layers.dense({
    units: 2,
    activation: 'softmax'
  }));

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

  return model;
}

Экспортируйте функцию createModel для дальнейшего использования:

typescript


export default createModel;
Готово! Вы можете использовать эту модель для предсказания 2 чисел после softmax.