首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析ND4j中的符号“linspace”

无法解析ND4j中的符号“linspace”
EN

Stack Overflow用户
提问于 2022-07-13 05:43:16
回答 2查看 42关注 0票数 0

我在爪哇很新。我希望使用Nd4j库INDArray x = new Nd4j.linspace(0, 1, 100);启动一个数组,在Python中执行类似x = np.linspace(0, 1, 100)的操作。我遇到了一个错误

java:找不到符号

符号:类行空间位置:类

org.nd4j.linalg.factory.Nd4j

虽然我的Nd4j安装得很好,但在pom.xml中添加了以下内容,而且我的IDE IntelliJ可以检测ND4j类。

代码语言:javascript
复制
    <dependency>
        <groupId>org.nd4j</groupId>
        <artifactId>nd4j-api</artifactId>
        <version>1.0.0-M2</version>
    </dependency>

我有遗漏或误解什么吗?谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-13 07:02:48

问题是:

代码语言:javascript
复制
INDArray x = new Nd4j.linspace(0, 1, 100);

由于使用new,Java尝试创建一个名为Nd4j.linspace,该类不存在(如“无法找到符号,符号:类链接空间”所示)。类Nd4j确实有一个方法 linspace。要解决这个问题,请删除new,以便调用该方法:

代码语言:javascript
复制
INDArray x = Nd4j.linspace(0, 1, 100);
票数 2
EN

Stack Overflow用户

发布于 2022-07-13 06:03:17

编辑:抱歉。感谢下面的评论。乍一看,当IDE只显示部分错误时,该错误看起来就像是标准错误。当您缺少后端时,这种情况非常常见。

在编译错误的上下文中,确保仍然有后端。您不需要直接依赖nd4j-api。它将作为一种过渡性的依赖而被牵扯进来,并且不会在没有后端的情况下工作。

对于IDE,只需确保声明了正确的依赖项(请参见下面的答案),然后刷新maven上下文以确保IDE具有正确的信息。还要确保您给IDE时间来下载正确的依赖项。

注意,对于IDE,它可能仍然不同步,所以您也可以在命令行上独立测试它。当你这样做的时候,你可以跑:

代码语言:javascript
复制
mvn clean install -DskipTests

如果您的项目编译,那么您的IDE就是问题所在。这可能意味着您需要重新启动它或使IDE的缓存失效。

关于正确的依赖关系:

您需要的不仅仅是api。你得选个后端。后端允许您根据用例使用cpu或gpu。

请注意,nd4j-api只是访问特定实现(例如:后端)提供的低级功能的层。

大多数情况下,这将是nd4j本机平台。这将允许您使用cpu后端。

具体而言,这将是:

代码语言:javascript
复制
    <dependency>
        <groupId>org.nd4j</groupId>
        <artifactId>nd4j-native-platform</artifactId>
        <version>1.0.0-M2</version>
    </dependency>

请注意,当您指定nd4j本机平台时,它将提供您所需的一切,但下载需要一点时间。

这个工件预声明了nd4j支持的每个操作系统的一组依赖项。在运行maven时,可以通过添加一个JVM属性来防止这种情况:

代码语言:javascript
复制
mvn -Djavacpp.platform="$YOUR_PLATFORM" clean package

您还应该能够在pom的属性中预先指定以下内容:

代码语言:javascript
复制
<properties>
<javacpp.platform>$YOUR_PLATFORM</javacpp.platform>
</properties>

$YOUR_PLATFORM通常可以是: linux-x86_64,windows-x86_64,macosx-x86_64 -这些都是maven分类器。您可以在这里看到特定版本的综合列表:https://repo1.maven.org/maven2/org/nd4j/nd4j-native/1.0.0-M2/

请注意,1.0.0-M2是当前版本,但可能会更改,因此,如果希望为特定平台提供版本,请始终指定最新版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72961432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档