# tensorflow_deploy **Repository Path**: handong0123/tensorflow_deploy ## Basic Information - **Project Name**: tensorflow_deploy - **Description**: 简化与优化tensorflow模型的Java部署 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 43 - **Forks**: 23 - **Created**: 2020-01-04 - **Last Updated**: 2024-07-08 ## Categories & Tags **Categories**: machine-learning **Tags**: None ## README # tensorflow_deploy #### 简介 简化与优化tensorflow模型的Java部署,并提供特征抽取相关工具 #### 特性 1. 多线程预测,提高预测性能50% 2. 提供模型重载,防止模型卡死 3. 封装模型输入输出,使用更加简便,可读性好 4. 提供数据预处理,加载char-encoder,获取文本id等特征抽取常用功能 ##### Quick Start 引入依赖: ```java // CPU com.github.handong0123 tensorflow-deploy-cpu 1.14.0 // GPU com.github.handong0123 tensorflow-deploy-gpu 1.14.0 ``` 构造: ```java // 使用CPU 更多构造参数请看源码 TensorflowProvider tfp = new TensorflowProvider("frozen.pb","/home/demo"); // 使用GPU TensorflowProvider tfp = new TensorflowProvider(3,"frozen.pb","/home/demo","0,1,2"); ``` 使用: ```java // 构造模型输入 ModelInput input = new ModelInput(); // 输出的tensor名和数据类型 input.addExceptedOutput("project/Reshape:0",ModelDataType.FLOAT); // 输入的tensor名和数据数组(未装箱) input.addPlaceHolderInput("CharInputs:0",new float[][]{}); // 预测 ModelOutput output = tfp.predict(input); float[][][] scores = (float[][][]) output.getOutput("project/Reshape:0"); ``` 数据处理工具: ``` // 提供大小写转换、全角转半角、加载char-id映射、获取char特征、填充列表等方法 TensorflowDataService dataService = new TensorflowDataServiceImpl(); ``` #### 如果你有好的想法或建议,可以提issue,也可以联系handong970123@gmail.com,项目会一直维护更新,感谢你的star。