Как написать зависящую от tenorflowjs библиотеку, которая будет импортировать из tfjs или tfjs-узла соответственно
Я пишу библиотеку TypeScript, которая, по сути, является клоном пакета вероятности тензора python. Я собираюсь использовать эту библиотеку в других проектах, как на стороне сервера, так и в браузере. Когда нижестоящий проект импортирует код вероятности tfjs, я бы хотел, чтобы бэкэнд tfjs использовал все доступные ресурсы во время выполнения пользователя.
Есть ли канонический способ написать код библиотеки, чтобы он импортировал tensor
из '@tenorflow/tfjs', когда пакет должен использоваться на внешнем интерфейсе, но импортируется из '@tenorflow/tfjs-node', когда используется в среде узла?
Должен ли я настроить это в моем инструменте сборки (веб-пакете)?
например. В моем пакете tfjs-вероятность у меня есть:
import { tensor } from '@tensorflow/tfjs'; // alternately '@tensorflow/tfjs-node'
export class NormalDist { //code that uses tensors }
и я предполагаю, что я сделал бы что-то подобное в последующем проекте:
import { NormalDist } from 'tfjs-probability';
const n = new NormalDist()
и как-то моя библиотека была бы достаточно умна, чтобы знать, использовать ли тензорный поток (в браузере) или тензорный узел.