当前位置: 首页 > 知识库问答 >
问题:

使用从java+(spring)嵌入的tensorflow库执行python程序不起作用

高砚
2023-03-14

>

  • 首先,我在spring框架中有一个java程序,它试图调用一个简单的hello world python脚本。
  • 它工作了,并返回一个“Hello World”
  • 所以我尝试运行一个嵌入了tensorflow库的python脚本,但它没有返回任何内容(控制台中没有打印任何内容)

    Python+TensorFlow

    将tensorflow导入为tf导入sys导入os

    OS.Environ['TF_CPP_MIN_LOG_LEVEL']=“2”将tensorflow导入为tf

    label_lines=[line.rstrip()用于tf.gfile.gfile(“logs/trained_labels.txt”)中的行]

    使用tf.gfile.fastgfile(“logs/trained_graph.pb”,'rb')作为f:graph_def=tf.graphdef()graph_def.parsefromstring(f.read())_=tf.import_graph_def(graph_def,name='')

    使用tf.session()作为SESS:

    softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
    
    predictions = sess.run(softmax_tensor, \
             {'DecodeJpeg/contents:0': image_data})
    
    top_k = predictions[0].argsort()[-len(predictions[0]):][::-1]
    
    for node_id in top_k:
        human_string = label_lines[node_id]
        score = predictions[0][node_id]
        print('%s (Percentage = %.2f )'  %  (human_string, (score * 100 )))
    

    java脚本

    软件包COM.TEST;导入java.io.IOException;导入java.io.*;

    public static void main(String [] args) throws InterruptedException {
    
            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    

    问题-我能运行一个从java程序嵌入了tensorflow的python吗?

  • 共有1个答案

    刁英朗
    2023-03-14

    您可以加载保存的tensorflow模型,并从Java运行预测。检查这里

    加载train_graph.pb文件,并使用feed和fetch函数发送和接收数据。您可以按照android教程操作

     类似资料:
    • 我必须在我正在做的课程中使用tensorflow,所以我尝试安装它,但结果总是出错。我尝试了不同的方法,通过将Anaconda Navigator左上角的“应用程序打开”按钮改为tf,我离安装tensorflow更近了一步。结果是下一个 顺便说一下,我用的是Spyder 4.1.5和python 3.8.5 64位。 有人知道怎么解决这个问题吗?我将非常感谢你的帮助。谢谢!

    • 是否可以在Spring Boot可执行jar中启动与声明的mainClass不同的Java类(使用main方法)? 特性:应该启动的类位于嵌入可执行jar(在lib文件夹中)的库中。 背景资料: 可执行jar包含一个库,其中包含一个类,我想调用该类以正常关闭应用程序。该库嵌入在可执行文件jars lib文件夹中,默认Java类路径参数无法访问该库。

    • 我能够在本地实例上成功执行JMX文件,但在远程系统(从属)上执行失败。我使用的是最新版本的捷视通。这是我第二次面对这个问题。 你能告诉我这里有什么遗漏吗。我最初认为这是因为我已将脚本从“执行”中关闭,但这里并非如此。 我的脚本(JMX)有一个事务控制器(在线程组下),带有一些超文本传输协议请求。 从命令行执行的代码如下所示。当我从 Run 执行时,它的结果相同 sh Jmeter.sh -n -t

    • Cron作业中的内容似乎没有被执行,或者在保存日志时有问题。让我给你介绍一下我的档案: 克龙塔卜 我没有使用Ubuntu:20.04,而是使用image和安装python的附加层。我不能和你分享这张照片,因为这是私人照片。 仅供参考,我可以直接从正在运行的docker(docker中的-it模式;/bin/bash)运行以下命令:python/bin/wrapper.py>/var/log/som

    • 第一次在这里写东西。 为什么我的子程序不起作用?我正在尝试打开main函数中的子例程以获取布尔值。

    • 我有一个很奇怪的问题。我正在尝试通过Docker运行一个Spring Boot应用程序。下面是我的步骤。 1)我正在创建一个DockerFile。 在这个文件中,我正在安装Java。我还在使用名为spring-boot-web-0.0.1-snapshot.jar的应用程序的jar文件。 您可以看到生成了一个容器。但当我打字的时候 container_id不可见,当我在浏览器中键入localhos