Как написать зависящую от 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()

и как-то моя библиотека была бы достаточно умна, чтобы знать, использовать ли тензорный поток (в браузере) или тензорный узел.

0 ответов

Другие вопросы по тегам