【问题标题】:ERROR TS6054: File '~lib/@tensorflow/tfjs-node.ts' not found错误 TS6054:找不到文件 \'~lib/@tensorflow/tfjs-node.ts\'
【发布时间】:2023-01-05 15:41:49
【问题描述】:

我正在尝试使用 AssemblyScript 为我拥有的 TensorFlow.js 模型构建 WebAssembly 推理引擎。

我从本质上是 quickstart AssemblyScript app(效果很好)开始,然后简单地将 @tensorflow/tfjs 添加到我的依赖项中:

$ npm install --save @tensorflow/tfjs

并向assembly/index.ts添加了一个导入:

import * as tf from "@tensorflow/tfjs";

Full code here on Github

这会在我构建它时导致错误:

$ npm run asbuild

> test-assemblyscript@1.0.0 asbuild
> npm run asbuild:untouched && npm run asbuild:optimized


> test-assemblyscript@1.0.0 asbuild:untouched
> asc assembly/index.ts --target debug

ERROR TS6054: File '~lib/@tensorflow/tfjs.ts' not found.

 import * as tf from "@tensorflow/tfjs";
                     ~~~~~~~~~~~~~~~~~~
 in assembly/index.ts(1,21)

FAILURE 1 parse error(s)

我误解了导入语法吗?我很困惑为什么它会在 ~lib 中寻找这个而不是 node_modules。

【问题讨论】:

  • 您不能将非汇编脚本导入 AssemblyScript
  • 是的,显然 AssemblyScript 导入与 ESM 标准略有不同。解释为here。但是tfjs 无论如何都不是 AS 文件,因此在将整个文件转换为 AS 之前不能导入它。

标签: tensorflow.js assemblyscript


【解决方案1】:

如果您确定要导入的模块是汇编脚本文件,您可以导入类似./node_modules/@tenderflow/tfjs 的文件。

我不确定 @tensorflow 是否构建了程序集文件,但我是在 assemblyscript-json 上为 assemblyscript@0.19.8 构建的(0.25.2 没有那个问题)。

例如

assemblyscript-json 已经从它的包中导出了 assemblyscript 文件,所以我可以这样做 (ref)

import { JSON } from './node_modules/assemblyscript-json/assembly';

export function formatJsonString(jsonString: string): string {
  const jsonObj: JSON.Obj = <JSON.Obj>JSON.parse(jsonString);
  return jsonObj.stringify();
}

【讨论】:

    猜你喜欢
    • 2020-02-25
    • 2022-01-01
    • 2020-08-10
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 2012-04-10
    • 1970-01-01
    相关资源
    最近更新 更多