【发布时间】:2017-04-30 01:35:43
【问题描述】:
我正在尝试从 Windows 10 Home 上的 ColdFusion 2016 开发人员版调用 TensorFlow Java API。
我从 TensorFlow Readme.md 中获得灵感,它除了使用 jar 之外,还使用特定于平台的 JNI dll,因此我将测试设置如下:
<cfscript>
CreateObject("java","java.lang.System").load("C:\\absolutepath\\tensorflow_jni.dll");
variables.tensorflow = CreateObject("Java","org.tensorflow.TensorFlow");
WriteDump(variables.tensorflow);
WriteOutput("I'm running TensorFlow version: " & variables.tensorflow.version());
</cfscript>
但是对 version() 的调用只会让浏览器旋转。
应用程序日志显示以下错误:
Could not initialize class org.tensorflow.TensorFlow The specific sequence of files included or processed is: C:\ColdFusionBuilder2016\ColdFusion\cfusion\wwwroot\CF_TensorFlow\index.cfm, line: 5
JNI 似乎正在加载...当它没有加载时,错误消息非常清楚“找不到适用于 OS 的 TensorFlow 本机库:windows...”
我现在不确定该怎么做。我需要对 Java 源代码做些什么以使其与 CF 很好地配合使用吗?
【问题讨论】:
-
不确定是否/如何在运行时加载。肯定会起作用的是a)将dll路径添加到
java.library.path或b)将dll文件复制到jre\bin。然后重新启动。 -
啊,看起来可以通过在jar中捆绑dll在运行时加载。请参阅下面的答案。
标签: java coldfusion tensorflow java-native-interface coldfusion-2016