python - 在 Chaquopy 中转换数组和张量

标签 python numpy tensorflow chaquopy

我该怎么做?

我看到你的帖子说你可以将 java 对象传递给 Python 方法,但这不适用于 numpy 数组和 TensorFlow 张量。以下以及其各种变体是我尝试过的,但没有成功。

double[][] anchors = new double[][]{{0.57273, 0.677385}, {1.87446, 2.06253}, {3.33843, 5.47434}, {7.88282, 3.52778}, {9.77052, 9.16828}};
PyObject anchors_ = numpy.callAttr("array", anchors);

我也尝试使用连接来创建它,但它不起作用。这是因为连接(和堆栈等)需要一个包含数组名称的序列作为参数传递,而 Java 中的 Chaquopy 似乎没有办法做到这一点。

有什么建议吗?

最佳答案

我假设您收到的错误是“ValueError:仅接受 2 个非关键字参数”。

您可能还在对 numpy.array 的调用中收到来自 Android Studio 的警告,指出“混淆参数‘ anchor ’,不清楚是否需要可变参数或非可变参数调用”。这就是问题的根源。您打算传递一个 double[][] 参数,但不幸的是 Java 已将其解释为五个 double[] 参数。

Android Studio 应该为您提供将参数强制转换为 Object 的自动修复,即:

numpy.callAttr("array", (Object)anchors);

这告诉 Java 编译器您打算仅传递一个参数,然后 numpy.array 将正常工作。

关于python - 在 Chaquopy 中转换数组和张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651034/

相关文章:

python - 使用 LDA 和 Gensim 推断新的、未见过的文档的主题分布

python - 评估多项式系数

Python Pandas Dataframe,在跳过重叠行的同时合并 df 行

python - 我可以使用 werkzeug.security 的 check_password_hash 解密 Bcrypt 哈希密码吗

python - 划分数组时 numpy 中的意外行为

python - 有什么比 dict() 更快的吗?

machine-learning - 为什么不同类型的层使用不同的偏置值

python - 忽略 NaN 的 Pandas 分组和转换

tensorflow - Keras:验证准确度保持不变,但验证损失减少

python - tensorflow 如何进行CNN计算?