日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Py4j-RPC

發布時間:2024/8/26 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Py4j-RPC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python 使用靈活、方便在科研中被廣泛的使用,Numpy和SciPy等科學計算庫使其擁有強大的計算方式。很多機器學習和深度學習的庫也都采用了python,然而在大數據、后臺開發中仍然較多的使用Java來開發健壯的服務。如果你想要在Java中來調用Python代碼的話,本文提供了一種思路,雖然不夠健壯。

本文的初衷是在Java中調用Keras訓練好的深度學習模型進行inference,模型的輸入是Numpy數組。主要考慮幾點:1).Java這邊可以方便的打包成Jar包,方便部署,比如作為 spark 的 job 運行。2). Python這邊如果要安裝額外的庫,安裝方式越簡單越好。
針對1).首先考慮的有deeplearning4j,可以通過maven使用。其次是Jython,Jep等工具提供了Java直接運行python代碼的功能;再其次是完全通過網絡來傳遞參數獲取返回結果。另外,可考慮的是如果采用了Tensorflow訓練模型,可以保存為Tensorflow模型,然后使用Java接口直接來調用。

deeplearning4j

deeplearning4j是一個Java語言的深度學習庫,其能夠與Spark框架對接。并且提供了導入keras模型的功能,然而對keras模型的支持并不完善,很多層還沒有實現,尤其是keras2的出現,deeplearning4j支持情況很差。

Jython

Jython是純Java實現的Jython VM。Jython在import 一個Python文件的時候,會編譯生成.class文件,而不是.pyc文件。
使用Jython可以運行純python實現的python庫,無法使用用C寫的Python擴展庫,因為沒有在ABI層兼容CPython。
Jython調用第三方的庫,如自己編寫的庫,需要將包路徑添加到sys.path中。
maven:

<dependency><groupId>org.python</groupId><artifactId>jython-standalone</artifactId><version>2.7.1</version> </dependency>

Jep 是一個能夠讓Python和Java互相調用的軟件包。可以使用CPython的擴展包,如Numpy和Pandas。其可以將Java的數組自動轉換為numpy數組。
在使用pip install jep安裝時需要編譯本地模塊。


RPC

對上面的工具都不滿意,只能走一些其它路子了。想到跨語言、跨平臺、數據交換等概念時自然容易想到JSON、XML、RPC這些詞。那么采用遠程過程調用是一種不錯的方式。各種語言都有遠程過程調用的工具,如Java的RMI,對象被序列化后通過網絡傳輸。序列化可以是任意形式,JSON、XML或者自定義的格式。JSON-RPC-2.0的規范定義比較簡單,可以為我們所使用。

RPC-server (Python)

建立TCP server監聽連接,在每個連接中按照JSON-RPC 2.0規范解讀和發送內容。建立函數名稱到函數的map,這些函數供Java調用。函數的參數需要是一些基本類型,如果原來的參數是numpy數組,可以改成一維數組,再加額外個參數表示維度信息,如行數和列數。然后在函數中進行reshape,復制到numpy數組。

RPC-client (Java)

建立到RPC-server的socket連接,使用com.thetransactioncompany.jsonrpc2包向RPC-server發送請求。
參數傳遞可以使用Java的Map,會映射到Python的dict。

鏈接

  • 本文代碼地址: github.com/makefile/py4j-rpc
  • https://scito.ch/content/fast-remote-procedure-calls-python-introducing-new-json-rpc-stream-protocol
  • http://software.dzhuvinov.com/json-rpc-2.0-base.html
  • https://ws.apache.org/xmlrpc/client.html
  • http://archive.apache.org/dist/ws/xmlrpc/

轉載于:https://www.cnblogs.com/makefile/p/py4j.html

總結

以上是生活随笔為你收集整理的Py4j-RPC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97色涩| 伊人午夜 | 99色在线视频 | 香港三级韩国三级日本三级 | 中文字幕一区二区在线观看 | 久草高清视频 | 亚洲福利社区 | 最近日韩中文字幕中文 | 亚洲综合图片一区 | 色汉综合 | 伊人激情在线 | 日本裸体动漫 | 黄色二级毛片 | 日本激情一区 | 9999re| 自拍亚洲综合 | 日本一区二区在线免费 | 一本一道久久a久久精品综合 | 性欧美极品 | 日本黄色动态图 | 精品成人一区二区三区 | 日批免费观看 | 免费在线观看小视频 | 国产激情久久久 | 国产视频在线观看视频 | 亚州av一区二区 | 在线免费看a| 欧美大片黄色 | 国产一级片精品 | 精品人妻一区二区三区在线视频 | 亚洲激情片 | 青青国产在线观看 | 欧色av| 免费的黄色av | 久久偷看各类wc女厕嘘嘘偷窃 | 日本三级韩国三级三级a级按摩 | 一线毛片 | 日韩精品一区二区三区视频 | 特黄一级大片 | 99热这里只有精品首页 | 午夜在线看 | 久久久久99精品国产片 | 91性高潮久久久久久久 | 亚洲精品无码一区二区 | 成人免费视频观看视频 | 欧美黄色xxx | 2019中文在线观看 | 国产av成人一区二区三区 | 成人免费看高清电影在线观看 | 九九热国产 | 色老头在线一区二区三区 | 日本免费网站 | 免费观看av的网站 | 久久久精品国产sm调教 | 亚洲第一视频区 | 久久91亚洲人成电影网站 | 亚洲综合图片一区 | 亚欧洲乱码视频 | 中文字幕在线日韩 | 人妻少妇偷人精品久久性色 | 在线视频福利 | 欧美国产日韩视频 | 成人做爰69片免费看 | 国产精品婷婷午夜在线观看 | 人人干在线视频 | 六月丁香在线视频 | 日韩av导航| 性高潮影院 | 国产群p视频| 日韩一级在线观看视频 | 久草www| 91精品国产色综合久久不卡蜜臀 | 久久一二区 | 亚洲美女性生活视频 | 一卡二卡三卡视频 | 男阳茎进女阳道视频大全 | 国产亚洲成人av | 亚洲第一视频网 | 香港日本韩国三级网站 | 67194成人 | 日韩大片在线 | 人妻换人妻a片爽麻豆 | 一区二区高清在线 | 色婷婷综合网 | 精品人妻一区二区三区浪潮在线 | 蜜桃臀av | 色999在线观看 | 国产一在线 | 91蜜臀精品国产自偷在线 | 精品一区二区三区免费毛片 | 91精彩刺激对白 | 国产精品suv一区二区88 | 天天综合91 | 99有精品| h色视频在线观看 | 福利免费在线观看 | 中文字母av | 免费在线观看污网站 | 亚洲一区三区 |