本技術實施例涉及車輛領域,尤其涉及一種端口連線輔助方法、模型訓練方法以及裝置。
背景技術:
1、傳統的嵌入式軟件開發工作分為兩個階段,首先設計軟件的功能算法,在針對該算法使用一種具體的編程語言實現,然后才能部署到硬件設備上進行測試,對功能算法的更新到修改代碼再部署程序重新進行測試是個漫長的過程,極大的耗費了人力。為了能在較短時間內完成這一過程,基于模型設計(model?based?design,mbd)并開發的思想,于近幾年獲得了長足的發展,各種基于模型開發的軟件工具不斷的涌現,涉及模型設計、仿真、分析和驗證等方面。模型化開發工具使工程師可以在一個可視化的交互平臺上用直觀的組件圖進行基于模型的設計和開發。在模型化開發過程中,用戶基于模型化開發工具提供的不同功能的基礎組件,通過在開發界面添加基礎組件,連接組件的輸入、輸出端口建立端口連線表示組件間數據流或控制流關系,連線過程通常為從一個組件的輸出端口拖拽鼠標或快捷鍵方式連接到另一組件的輸入,逐條建立連線,在一個復雜模型中,待連接端口多達上百個,給用戶查找目標端口和連線操作帶來一定的困難,傳統連線過程繁瑣且效率低下,因此優化建模過程中的連線方式和過程十分必要。
2、當前提供了通過選中端口所在組件自動完成連線操作的方案,但是,該方案只能對兩個組件的首個端口進行連線,當組件上端口較多或待連接端口位置不是處于第一個時,均無法通過該方式正確建立連線,需要糾錯,影響連線效率。
技術實現思路
1、本技術提供了一種端口連線輔助方法、模型訓練方法以及裝置,用于提高輔助連線準確度和提高連線效率。
2、本技術第一方面提供了一種端口連線輔助方法,該方法包括:接收連線指令,連線指令指示對第一端口連線;根據連線指令獲取第一端口的端口信息和第二端口的端口信息,第二端口為一個或多個當前空閑的端口;將第一端口的端口信息和第二端口的端口信息輸入到聯邦學習模型中,以獲得第二端口相比第一端口的端口置信度,端口置信度為端口信息的相關程度;在開發界面的顯示列表上展示推薦端口,推薦端口為第二端口中端口置信度最高的n個,n≥1;在開發界面展示輔助連線,輔助連線為第一端口與第三端口的連線,第三端口為推薦端口中端口置信度最高的端口。
3、上述方面中,第一開發平臺在接收到對第一端口的連線指令時,確定當前空閑的端口作為第二端口,并獲取第一端口的端口信息以及第二端口的端口信息輸入到聯邦學習模型中,其中,第二端口為一個或多個,聯邦學習模型可以輸出每個第二端口的端口信息與第一端口的端口置信度,選擇端口置信度最高的n個在開發界面的顯示列表展示給用戶,并在開發界面展示端口置信度最高的第三端口與第一端口的連線,由于端口置信度為第二端口的端口信息與第一端口的端口信息的相關程度,則選擇第三端口為連線端口可以提高輔助連線準確度,且提高連線效率。
4、一種可能的實施方式中,在開發界面展示輔助連線之后,該方法還包括:接收用戶的切換指令,切換指令指示切換到第四端口,第四端口為顯示列表上的端口;將輔助連線調整為第一端口與第四端口的連線。
5、上述可能的實施方式中,該第三端口可能不是用戶想要連線的端口,而是在顯示列表上的其他的端口置信度高的端口,用戶可以向第一開發平臺發送切換指令,指示切換到第四端口,則第一開發平臺在收到該切換指令后可以取消第一端口和第三端口的連線,將輔助連線調整為第一端口和第四端口的連線,提高方案的靈活性。
6、一種可能的實施方式中,在接收用戶的切換指令之前,該方法還包括:接收用戶輸入的端口名稱;在顯示列表展示與端口名稱相關的端口。
7、上述可能的實施方式中,該顯示列表上的端口可能都不是用戶想要連線的端口,用戶可以直接輸入想要連線的端口的端口名稱,第一開發平臺將顯示列表中的端口更改為用戶輸入的端口名稱對應的端口,并相應在開發界面展示該端口名稱對應的端口與第一端口的輔助連線。其中,用戶輸入的端口名稱不一定需要時完成的名稱,則第一開發平臺可以根據用戶輸入的名稱自動匹配與輸入的名稱相關的端口展示在該顯示列表,由用戶選擇其中的一個端口作為與第一端口進行輔助連線的端口,并向第一開發平臺下發切換指令,提高方案的靈活性。
8、一種可能的實施方式中,在展示第一端口與推薦端口中端口置信度最高的端口的連線之后,該方法還包括:接收用戶的確認指令;根據確認指令按照輔助連線進行連線。
9、上述可能的實施方式中,該輔助連線只是作為示例預覽的連線,并不是實際對兩個端口之間的連線,還需要用戶確認后才將該輔助連線實體化,即第一開發平臺在收到用戶的確認指令后,才按照該輔助連線的連接方式對兩個端口進行連線,提高實際連線的準確度。
10、一種可能的實施方式中,端口信息包括端口名稱、端口類型、端口傳輸的數據類型、組件類型、組件種類、端口在界面中的位置、端口所在組件的名稱中的多個。
11、一種可能的實施方式中,將第一端口的端口信息和第二端口的端口信息輸入到聯邦學習模型中包括:根據第一端口的端口類型、數據類型和組件種類對第二端口進行過濾,以獲得第五端口;將第一端口的端口信息和第五端口的端口信息輸入到聯邦學習模型中。
12、上述可能的實施方式中,在將第一端口的端口信息和第二端口的端口信息輸入到聯邦學習模型之前,第一開發平臺還可以對第二端口進行過濾,即對第二端口的端口信息中,不滿足第一端口的端口類型、數據類型以及組件種類的端口進行過濾,剩下的第二端口即為第五端口。第一開發平臺可以將第一端口的端口信息和第五端口的端口信息輸入到聯邦學習模型中,不需要對所有第二端口的端口數據進行計算,減少計算量。
13、一種可能的實施方式中,聯邦學習模型包括端口名稱的權重、組件類型的權重、端口在界面中的位置的權重和端口所在組件的名稱的權重。
14、一種可能的實施方式中,該方法還包括:獲取第六端口的端口信息和第一連線端口的端口信息,第六端口為一個或多個當前空閑的端口,第一連線端口為用戶確定的連線的端口;將第六端口的端口信息和第一連線端口的端口信息發送到聯邦學習服務端;接收來自聯邦學習服務端的訓練模型,訓練模型為聯邦學習服務端對第六端口的端口信息和第一連線端口的端口信息訓練獲得;根據訓練模型對聯邦學習模型進行更新。
15、上述可能的實施方式中,對于用于計算端口置信度的聯邦學習模型,在用戶同意的前提下,聯邦學習服務端可以收集用戶在模型化開發過程中連線信息,并生成本地數據集,基于聯邦學習的方法,優化置信度的計算模型,從而使推薦結果更精準。聯邦學習服務端可以從第一開發平臺獲取當前該第一開發平臺的開發界面中的空閑端口作為第六端口,該開發界面中的空閑的端口可以是一個或多個,聯邦學習服務端可以及時根據該第六端口的端口信息和第一連線端口的端口信息訓練本地的聯邦學習模型,獲得訓練后的訓練模型,并將該訓練模型發送給第一開發平臺,以更新第一開發平臺本地的聯邦學習模型,提高端口置信度的準確度。
16、本技術第二方面提供了一種模型訓練方法,該方法包括:接收來自第一開發平臺的第六端口的端口信息和第一連線端口的端口信息,第六端口為一個或多個當前空閑的端口,第一連線端口為用戶確定的連線的端口;對第六端口的端口信息和第一連線端口的端口信息訓練,以獲得訓練模型;將訓練模型發送給第一開發平臺。
17、上述方面中,對于用于計算端口置信度的聯邦學習模型,在用戶同意的前提下,聯邦學習服務端可以收集用戶在模型化開發過程中連線信息,并生成本地數據集,基于聯邦學習的方法,優化置信度的計算模型,從而使推薦結果更精準。聯邦學習服務端可以從第一開發平臺獲取當前該第一開發平臺的開發界面中的空閑端口作為第六端口,該開發界面中的空閑的端口可以是一個或多個,聯邦學習服務端可以及時根據該第六端口的端口信息和第一連線端口的端口信息訓練本地的聯邦學習模型,獲得訓練后的訓練模型,并將該訓練模型發送給第一開發平臺,以更新第一開發平臺本地的聯邦學習模型,提高端口置信度的準確度。
18、一種可能的實施方式中,該方法還包括:接收來自第二開發平臺的第七端口的端口信息和第二連線端口的端口信息,第七端口為一個或多個當前空閑的端口,第二連線端口為用戶確定的連線的端口;對第七端口的端口信息和第二連線端口的端口信息進行訓練,以調整訓練模型。
19、上述可能的實施方式中,基于聯邦學習服務端的特性,聯邦學習服務端還可以接收其他開發平臺(例如第二開發平臺)的獲取當前該第二開發平臺的開發界面中的空閑端口作為第七端口,該開發界面中的空閑的端口可以是一個或多個,聯邦學習服務端可以及時根據該第六端口的端口信息和第一連線端口的端口信息訓練本地的聯邦學習模型,獲得訓練后的訓練模型,并將該訓練模型發送給第一開發平臺,以更新第一開發平臺本地的聯邦學習模型。或者該第二開發平臺上傳的數據與第一開發平臺上傳的數據是同時或之后上傳,則可以經過對第二開發平臺上傳的數據訓練來調整發送給第一開發平臺的訓練模型,以提高端口置信度的計算精度。
20、本技術第三方面提供了一種端口連線輔助裝置,可以實現上述第一方面或第一方面中任一種可能的實施方式中的方法。該裝置包括用于執行上述方法的相應的單元或模塊。該裝置包括的單元或模塊可以通過軟件和/或硬件方式實現。該裝置例如可以為網絡設備,也可以為支持網絡設備實現上述方法的芯片、芯片系統、或處理器等,還可以為能實現全部或部分網絡設備功能的邏輯模塊或軟件。
21、本技術第四方面提供了一種模型訓練裝置,可以實現上述第二方面或第二方面中任一種可能的實施方式中的方法。該裝置包括用于執行上述方法的相應的單元或模塊。該裝置包括的單元或模塊可以通過軟件和/或硬件方式實現。該裝置例如可以為網絡設備,也可以為支持網絡設備實現上述方法的芯片、芯片系統、或處理器等,還可以為能實現全部或部分網絡設備功能的邏輯模塊或軟件。
22、本技術第五方面提供了一種計算機設備,包括:處理器,該處理器與存儲器耦合,該存儲器用于存儲指令,當指令被處理器執行時,使得該計算機設備實現上述第一方面或第一方面中任一種可能的實施方式中的方法。該計算機設備例如可以為網絡設備,也可以為支持網絡設備實現上述方法的芯片或芯片系統等。
23、本技術第六方面提供了一種計算機設備,包括:處理器,該處理器與存儲器耦合,該存儲器用于存儲指令,當指令被處理器執行時,使得該計算機設備實現上述第二方面或第二方面中任一種可能的實施方式中的方法。該計算機設備例如可以為網絡設備,也可以為支持網絡設備實現上述方法的芯片或芯片系統等。
24、本技術第七方面提供了一種計算機可讀存儲介質,該計算機可讀存儲介質中保存有指令,當該指令被處理器執行時,實現前述第一方面或第一方面任一種可能的實施方式、前述第二方面或第二方面任一種可能的實施方式提供的方法。
25、本技術第八方面提供了一種計算機程序產品,計算機程序產品中包括計算機程序代碼,當該計算機程序代碼在計算機上執行時,實現前述第一方面或第一方面任一種可能的實施方式、前述第二方面或第二方面任一種可能的實施方式提供的方法。