Как написать зависящую от tenorflowjs библиотеку, которая будет импортировать из tfjs или tfjs-узла соответственно - PullRequest
1 голос
/ 29 мая 2019

Я пишу библиотеку TypeScript, которая в основном является клоном пакета вероятности тензора python. Я собираюсь использовать эту библиотеку в других проектах, как на стороне сервера, так и в браузере. Когда нижестоящий проект импортирует код вероятности tfjs, я бы хотел, чтобы бэкэнд tfjs использовал все доступные ресурсы во время выполнения пользователя.

Существует ли канонический способ написания кода библиотеки, чтобы он импортировал tensor из '@ensorflow / 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()

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

...