【RK3568+PG2L50H開發板實驗例程】FPGA部分 | 以太網傳輸實驗例程

本原創文章由深圳市小眼睛科技有限公司創作,版權歸本公司所有,如需轉載,需授權并注明出處(www.meyesemi.com)

1.實驗簡介

實驗目的:

完成 DDR3 的讀寫測試。

實驗環境:

Window11 PDS2022.2-SP6.4

芯片型號:

PG2L50H-484

2.實驗原理

2.1.?開發板以太網接口簡介

? ? ? 開發板使用裕泰微的裕太微電子的 YT8521SH-CA 實現了一個 10/100/1000 以太網端口。使用時需要用到光電轉換模塊,通過網線連接電腦的網口和光電轉換模塊的電口即可完成通信。

2.2. 以太網協議簡介
2.2.1. 以太網幀格式

? ? ? ?前導碼(Preamble):8 字節,連續 7 個 8’h55 加 1 個 8’hd5,表示一個幀的開始,用于雙方;設備數據的同步。

? ? ? ?目的 MAC 地址:6 字節,存放目的設備的物理地址,即 MAC 地址;源 MAC 地址:6 字節,存放發送端設備的物理地址;

? ? ? ?類型:2 字節,用于指定協議類型,常用的有 0800 表示 IP 協議,0806 表示 ARP 協議,

? ? ? ?8035 表示 RARP 協議;

? ? ? ?數據:46 到 1500 字節,最少 46 字節,不足需要補全 46 字節,例如 IP 協議層就包含在數據部分,包括其 IP 頭及數據。

? ? ? ?FCS:幀尾,4 字節,稱為幀校驗序列,采用 32 位 CRC 校驗,對目的 MAC 地址字段到數據字段進行校驗。

? ? ? ?進一步擴展,以 UDP 協議為例,可以看到其結構如下,除了以太網首部的 14 字節,數據部分包含 IP 首部,UDP 首部,應用數據共 46~1500 字節。

2.2.2. ARP 數據報格式

? ? ? ?ARP 地址解析協議,即 ARP(Address Resolution Protocol),根據 IP 地址獲取物理地址。主機發送包含 目的 IP 地址的 ARP 請求廣播(MAC 地址為 48’hff_ff_ff_ff_ff_ff)到網絡上的主機,并接收返回消息,以此確 定目標的物理地址,收到返回消息后將 IP 地址和物理地址保存到緩存中,并保留一段時間,下次請求時直接查 詢 ARP 緩存以節約資源。下圖為 ARP 數據報格式。

? ? ? ?幀類型:ARP 幀類型為兩字節 0806;

? ? ? ?硬件類型:指鏈路層網絡類型,1 為以太網;

? ? ? ?協議類型:指要轉換的地址類型,采用 0x0800 IP 類型,之后的硬件地址長度和協議地址長度分別對應 6 和 4;

? ? ? ?OP 字段中 1 表示 ARP 請求,2 表示 ARP 應答

? ? ? ?例如:|ff ff ff ff ff ff|00 0a 35 01 fe c0|08 06|00 01|08 00|06|04|00 01|00 0a?

? ? ? ?35 01 fe c0|c0 a8 00 02| ff ff ff ff ff ff|c0 a8 00 03|

? ? ? ?表示向 192.168.0.3 地址發送 ARP 請求。

? ? ? ?|00 0a 35 01 fe c0 | 60 ab c1 a2 d5 15 |08 06|00 01|08 00|06|04|00 02| 60 ab c1 a2 d5 15|c0 a8 00 03|00 0a 35 01 fe c0|c0 a8 00 02|

? ? ? ?表示向 192.168.0.2 地址發送 ARP 應答。

2.2.3. IP 數據包格式

? ? ? ?因為 UDP 協議包只是 IP 包中的一種, 所以我們來介紹一下 IP 包的數據格式。下圖為 IP分組的報文頭格式,報文頭的前 20 個字節是固定的,后面的可變

? ? ? ?版本:占 4 位,指 IP 協議的版本目前的 IP 協議版本號為 4 (即 IPv4);

? ? ? ?首部長度:占 4 位,可表示的最大數值是 15 個單位(一個單位為 4 字節)因此 IP 的首部

? ? ? ?長度的最大值是 60 字節;

? ? ? ?區分服務:占 8 位,用來獲得更好的服務,在舊標準中叫做服務類型,但實際上一直未被使用過 1998 年這個字段改名為區分服務。只有在使用區分服務(DiffServ)時,這個字段才起作用。一般的情況下都不使用這個字段;

? ? ? ?總長度:占 16 位,指首部和數據之和的長度,單位為字節,因此數據報的最大長度為 65535

字節總長度必須不超過最大傳送單元 MTU

? ? ? ?標識:占 16 位,它是一個計數器,用來產生數據報的標識

? ? ? ?標志(flag):占 3 位,目前只有前兩位有意義

? ? ? ?MF 標志字段的最低位是 MF (More Fragment),MF=1 表示后面“還有分片”。MF=0 表示最后一個分片;

? ? ? ?DF 標志字段中間的一位是 DF (Don't Fragment),只有當 DF=0 時才允許分片。

? ? ? ?片偏移:占 12 位,指較長的分組在分片后某片在原分組中的相對位置.片偏移以 8 個字節為偏移單位;

? ? ? ?生存時間;占 8 位,記為 TTL (Time To Live) 數據報在網絡中可通過的路由器數的最大值,TTL 字段是由發送端初始設置一個 8 bit 字段.推薦的初始值由分配數字 RFC 指定,當前值為 64.發送 ICMP 回顯應答時經常把 TTL 設為最大值 255;

? ? ? ?協議;占 8 位,指出此數據報攜帶的數據使用何種協議以便目的主機的 IP 層將數據部分上交給哪個處理過程, 1 表示為 ICMP 協議, 2 表示為 IGMP 協議, 6 表示為 TCP 協議, 17 表示為 UDP 協議;

? ? ? ?首部檢驗和:占 16 位,只檢驗數據報的首部不檢驗數據部分,采用二進制反碼求和,即將16 位數據相加后,再將進位與低 16 位相加,直到進位為 0,最后將 16 位取反;

? ? ? ?源地址和目的地址:都各占 4 字節,分別記錄源地址和目的地址;

2.2.4. UDP 協議

? ? ? ?UDP 是 User Datagram Protocol(用戶數據報協議)的英文縮寫。UDP 只提供一種基本的、低延遲的被稱 為數據報的通訊。所謂數據報,就是一種自帶尋址信息,從發送端走到接收端的數據包。UDP 協議經常用于圖像 傳輸、網絡監控數據交換等數據傳輸速度要求比較高的場合。

? ? ? ?UDP 協議的報頭格式:

? ? ? ?UDP 報頭由 4 個域組成,其中每個域各占用 2 個字節,具體如下:

  1. UDP 源端口號
  2. 目標端口號
  3. 數據報長度
  4. 校驗和

? ? ? ?UDP 協議使用端口號為不同的應用保留其各自的數據傳輸通道。數據發送一方將 UDP 數據報通過源端口 發送出去,而數據接收一方則通過目標端口接收數據。

? ? ? ?數據報的長度是指包括報頭和數據部分在內的總字節數。因為報頭的長度是固定的,所以該域主要被用來計 算可變長度的數據部分(又稱為數據負載)。數據報的最大長度根據操作環境的不同而各異。從理論上說,包含報 頭在內的數據報的最大長度為 65535 字節。

? ? ? ?不過,一些實際應用往往會限制數據報的大小,有時會降低到 8192 字節。

? ? ? ?UDP 協議使用報頭中的校驗值來保證數據的安全。校驗值首先在數據發送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數據報在傳輸過程中被第三方篡改或者由于線路噪音等原因受 到損壞,發送和接收方的校驗計算值將不會相符,由此 UDP 協議可以檢測是否出錯。雖然 UDP 提供警告信息。

2.2.5. Ping功能

? ? ? ?UDP 協議使用報頭中的校驗值來保證數據的安全。校驗值首先在數據發送方通過特殊的算法計算得出,在 傳遞到接收方之后,還需要再重新計算。如果某個數據報在傳輸過程中被第三方篡改或者由于線路噪音等原因受 到損壞,發送和接收方的校驗計算值將不會相符,由此 UDP 協議可以檢測是否出錯。雖然 UDP 提供有錯誤檢測, 但檢測到錯誤時,錯誤校正,只是簡單地把損壞的消息段扔掉,或者給應用程序提供警告信息。

3.SMI(MDC/MDIO)總線接口

? ? ? ?串行管理接口( Serial Management Interface ),也被稱作 MII 管理接口( MII ManagementInterface), 包括 MDC 和 MDIO 兩條信號線。MDIO 是一個 PHY 的管理接口,用來讀/寫 PHY 的寄存器,以控制 PHY 的 行為或獲取 PHY 的狀態,MDC 為 MDIO 提供時鐘,由 MAC 端提供,在本實驗中也就是 FPGA 端。在 RTL8211EG 文檔里可以看到 MDC 的周期最小為 400ns,也就是最大時鐘為 2.5MHz。

3.1. SMI 幀格式

? ? ? ?如下圖,為 SMI 的讀寫幀格式:

3.2. 讀時序

? ? 可以看到在 Turn Around 狀態下,第一個周期 MDIO 為高阻態,第二個周期由 PHY 端拉低。

3.3. 寫時序

? ? ? ?為了保證能夠正確采集到數據,在 MDC 上升沿之前就把數據準備好,在本實驗中為下降沿發送數據,上升沿接收數據。

4.實驗設計

? ? ? ?本實驗以千兆以太網 RGMII 通信為例來設計 verilog 程序,會先發送預設的 UDP 數據到網絡,每秒鐘發 送一次.程序分為兩部分,分別為發送和接收,實現了 ARP,UDP 功能。? ?

4.1. 發送部分
4.1.1. MAC 層發送

? ? ? ?發送部分中,mac_tx.v 為 MAC 層發送模塊,首先在 SEND_START 狀態,等待 mac_tx_ready 信號,如果 有效,表明 IP 或 ARP 的數據已經準備好,可以開始發送。再進入發送前導碼狀態,結束時發送 mac_data_req, 請求 IP 或 ARP 的數據,之后進入發送數據狀態,最后進入發送 CRC 狀態。在發送數據過程中,需要同時進行 CRC 校驗。前導碼完成后就將上層協議數據發送出去, 這個時候同樣把這些上層數據放到 CRC32 模塊中做序列生成,上層協議會給一個數據輸出完成標志信號,這個 時候 mac_tx 知道數據發送完成了,需要結束 CRC32 的序列生成,這個時候就開始提取 FCS,銜接數據之后發 送出去。這樣就連接了前導碼---數據(Mac 幀)----FCS。之后跳轉到結束狀態,再回到 IDLE 狀態,等待下一次的發送請求。

4.1.2. MAC 發送模式

工程中的 mac_tx_mode.v 為發送模式選擇,根據發送模式是 IP 或 ARP 選擇相應的信號與數據。

4.1.3. ARP 發送

? ? ?發送部分中,arp_tx.v 為 ARP 發送模塊, 在 IDLE 狀態下,等待 ARP 發送請求或 ARP 應答請求信號, 之后進入請求或應答等待狀態,并通知 MAC 層,數據已經準備好,等待 mac_data_req 信號,之后進入請求或 應答數據發送狀態。由于數據不足 46 字節,需要補全 46 字節發送。

4.1.4. IP 層發送

? ? ? ?在發送部分,ip_tx.v 為 IP 層發送模塊,在 IDLE 狀態下,如果 ip_tx_req 有效,也就是 UDP 或 ICMP 發 送請求信號,進入等待發送數據長度狀態,之后進入產生校驗和狀態,校驗和是將 IP 首部所有數據以 16 位相 加,最后將進位再與低 16 位相加,直到進入為 0,再將低 16 位取反,得出校驗和結果。

? ? ? ?在生成校驗和之后,等待 MAC 層數據請求,開始發送數據,并在即將結束發送 IP 首部后請求 UDP 或 ICMP 數據。等發送完,進入 IDLE 狀態。

4.1.5. IP 發送模式

? ? ? ?工程中的 ip_tx_mode.v 為發送模式選擇,根據發送模式是 UDP 或 ICMP 選擇相應的信號與數據。

4.1.6. UDP 發送

? ? ?發送部分中,udp_tx.v 為 UDP 發送模塊。

4.2. 接收部分
4.2.1. MAC 層接收

? ? ? ?在接收部分,其中 mac_rx.v 為 mac 層接收文件,首先在 IDLE 狀態下當 rx_en 信號為高,進入 REC_PREAMBLE 前導碼狀態,接收前導碼。之后進入接收 MAC 頭部狀態,即目的 MAC 地址,源 MAC 地址, 類型,將它們緩存起來,并在此狀態判斷前導碼是否正確,錯誤則進入REC_ERROR 錯誤狀態,在 REC_IDENTIFY 狀態判斷類型是 IP(8’h0800)或 ARP(8’h0806)。然后進入接 收數據狀態,將數據傳送到 IP 或 ARP 模塊,等待 IP 或 ARP 數據接收完畢,再接收 CRC 數據。并在接收數 據的過程中對接收的數據進行 CRC 處理,將結果與接收到的 CRC 數據進行對比,判斷數據是否接收正確,正確 則結束,錯誤則進入 ERROR 狀態。

4.2.2. ARP 接收

? ? ? ?工程中的 arp_rx.v 為 ARP 接收模塊,實現 ARP 數據接收,在 IDLE 狀態下,接收到從 MAC 層發來的 arp_rx_req 信號,進入 ARP 接收狀態,在此狀態下,提取出目的 MAC 地址,源 MAC 地址,目的 IP 地址,源 IP 地址,并判斷操作碼 OP 是請求還是應答。如果是請求,則判斷接收到的目的 IP 地址是否為本機地址,如果是, 發送應答請求信號 arp_reply_req,如果不是,則忽略。如果 OP 是應答,則判斷接收到的目的 IP 地址及目的 MAC 地址是否與本機一致,如果是,則拉高 arp_found 信號,表明接收到了對方的地址。并將對方的 MAC 地 址及 IP 地址存入 ARP 緩存中。

4.2.3. IP 層接收模塊

? ? ? ?在工程中,ip_rx 為 IP 層接收模塊,實現 IP 層的數據接收,信息提取,并進行校驗和檢查。首先在 IDLE 狀 態下,判斷從 MAC 層發過來的 ip_rx_req 信號,進入接收 IP 首部狀態,先在 REC_HEADER0 提取出首部長 度及 IP 總長度,進入 REC_HEADER1 狀態,在此狀態提取出目的 IP 地址,源 IP 地址,協議類型,根據協議類 型發送 udp_rx_req 或 icmp_rx_req。在接收首部的同時進行校驗和的檢查,將首部接收的所有數據相加,存入 32 位寄存器,再將高 16 位與低 16 位相加,直到高 16 位為 0 ,再將低 16 位取反,判斷其是否為 0,如果是 0,則檢驗正確,否則 錯誤,進入 IDLE 狀態,丟棄此幀數據,等待下次接收。

4.2.4. UDP 接收

? ? ? ?在工程中,udp_rx.v 為 UDP 接收模塊,在此模塊首先接收 UDP 首部,再接收數據部分,在接收的同時進 行 UDP 校驗和檢查,如果 UDP 數據是奇數個字節,在計算校驗和時,在最后一個字節后加上 8’h00,并進行校 驗和計算。校驗方法與 IP 校驗和一樣,如果校驗正確,將拉高 udp_rec_data_valid 信號,表明接收的 UDP 數 據有效,否則無效,等待下次接收。

4.3. 其他部分
4.3.1. ICMP 應答

? ? ? ?在工程中,icmp_reply.v 實現 ping 功能,首先接收其他設備發過來的 icmp 數據,判斷類型是否是回送 請求(ECHO REQUEST),如果是,將數據存入 RAM,并計算校驗和,判斷校驗和是否正確,如果正確則進入發送 狀態,將數據發送出去。

4.3.2. ARP 緩存

? ? ? ?在工程中,arp_cache.v 為 arp 緩存模塊,將接收到的其他設備 IP 地址和 MAC 地址緩存,在發送數據之 前,查詢目的地址是否存在,如果不存在,則向目的地址發送 ARP 請求,等待應答。在設計文件中,只做了一個緩 存空間,如果有需要,可擴展。

4.3.3. CRC 校驗模塊(crc.v)

? ? ? ?CRC32 校驗是在目標 MAC 地址開始計算的,一直計算到一個包的最后一個數據為止。一些網站可以自動 生成 CRC 算法的 verilog 文件:https://bues.ch/cms/hacking/crcgen.html

5.實驗現象

? ? ? ?用光電轉換模塊插入 SFP 口,再用一根網線和 PC 端網口相連;

? ? ? ?設置接收端(PC 端)IP 地址為 192.168.0.3,開發板的 IP 地址為 192.168.0.2 如下圖

? ? ? ?通過命令提示符,輸入 arp -a,可以查到 IP:192.168.0.2 MAC:a0_b1_c2_d3_e1_e1;

? ? ? ?通過 Wireshark 軟件抓包驗證數據鏈路是否正常連接以及數據傳輸是否正常。資料包中 PC 端打開 Wireshark 軟件,燒錄重新后進行捕獲數據報可以看到如下所示的交互過程。

? ? ? ?成功建立連接后會持續發送數據報“www.meyesemi.com”。如下所示:

? ??Ping 功能測試,由上圖可知,ping 基本不丟包。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88171.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《每日AI-人工智能-編程日報》--2025年7月9日

介紹:AI 方面1. Manus 通用智能體初成型,開啟 AIAgent 新時代?中泰證券發布研報稱,首款通用型 AI 智能體 Manus 已問世,能夠將復雜任務拆解為可執行的步驟鏈,并在虛擬環境中靈活調用工具,標志著 AI 從 “Reasoner” 走…

MyBatis之數據操作增刪改查基礎全解

目錄 1. ?MyBatis添加數據 1.1. 持久層接口添加方法 1.2. 映射文件添加標簽 1.3. 編寫測試方法 2. ??MyBatis修改數據 2.1. 代碼的優化 2.2. 持久層接口添加方法 2.3. 映射文件添加標簽 2.4. 編寫測試方法 3. 🗑?MyBatis刪除數據與根據Id查詢 3.1. 刪…

kbmMemTable Pro 7.82 Delphi 11 源代碼

kbmMemTable Pro 7.82 Delphi 11 源代碼KbmMemTable 是一個用于在 Win 32/64、Mac OS、Android 和 iOS 32/64 應用程序中存儲臨時數據的組件,這些應用程序可以使用 RAD Studio、Delphi、C Builder 或 FPC 等編程語言創建,同時您還可以高速訪問存儲在數據…

LeetCode Hot 100 除自身以外數組的乘積

給你一個整數數組 nums,返回 數組 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴的乘積都在 32 位 整數范圍內。請 不要使用除法,且在 O(n) 時間復雜度內…

VC Code--常用的配置

原文網址:VC Code--常用的配置-CSDN博客 簡介 本文介紹VC Cod常用的配置。 1.字體大小 整體字體大小 左下角齒輪> Settings> Windows> Window: Zoom Level> 改為:2 編輯器字體大小(如果調整了整體字體大小,此處…

大模型驅動的智能體:從GPT-4到o1的能力躍升

大模型驅動的智能體:從GPT-4到o1的能力躍升 🌟 嗨,我是IRpickstars! 🌌 總有一行代碼,能點亮萬千星辰。 🔍 在技術的宇宙中,我愿做永不停歇的探索者。 ? 用代碼丈量世界&#xf…

200nl2sql

‘train_runtime’: 1375.1089, ‘train_samples_per_second’: 0.025, ‘train_steps_per_second’: 0.007, ‘train_loss’: 0.0, ‘num_tokens’: 115914.0, ‘completions/mean_length’: 76.4125, ‘completions/min_length’: 27.8, ‘completions/max_length’: 151.2, …

Transformer、BERT、GPT以及Embedding之間的關系

1. Transformer架構的兩大方向 Transformer分為兩大類應用,但劃分標準不是"分類vs生成",而是編碼方式: Encoder架構(代表:BERT): 使用Transformer的??編碼器??(Encode…

ARM匯編編程(AArch64架構)課程 - 第7章:SIMD與浮點運算

目錄1. NEON寄存器關鍵特性數據排列示例2. 浮點指令2.1 FMUL指令2.2 FADD指令2.3 FCMP指令1. NEON寄存器 AArch64架構提供32個128位NEON向量寄存器(V0-V31),支持SIMD并行計算 關鍵特性 寄存器類型數量位寬數據視圖Q寄存器32128bQ0-Q31D寄存…

Word2Vec模型詳解:CBOW與Skip-gram

Word2Vec模型詳解:CBOW與Skip-gram 目錄 模型概述理論基礎CBOW模型詳解Skip-gram模型詳解模型對比代碼實現詳解訓練過程分析應用場景實驗結果總結 模型概述 Word2Vec是一種用于生成詞向量的神經網絡模型,由Google在2013年提出。它包含兩種主要架構&am…

跨服務sqlplus連接oracle數據庫

背景:ogg程序同步數據。 目標庫:客戶oracle數據庫11.0.2.4.0,也就是11g的數據庫。源庫:業務組搭建的19c數據庫,剛安裝的oracle數據庫。ogg在源庫和目標庫系統都部署好了并且也可以通信。在目標庫系統使用sqlplus測試連…

虛擬機安裝與使用vim編輯器簡單使用

文章目錄1.VMware17許可證2.ubuntu虛擬機的顯示屏幕太小3.vmware 17 無法安裝 vmware tools4.buntu常用快捷鍵與命令5.vim文本編輯器參考資料:1.VMware17許可證 JU090-6039P-08409-8J0QH-2YR7F(親測2025/7/8有效) 2.ubuntu虛擬機的顯示屏幕…

Tomcat:啟用https(Windows)

1、在D盤cmd,使用keytool生成簽名(365天)(密碼111111): keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore keystore.jks -validity 365 2、在conf/server.xml中添加如下配置&#xff0…

A模塊 系統與網絡安全 第四門課 彈性交換網絡-2

今日目標 STP協議概述STP工作原理選舉根端口和指定端口BPDUMSTP工作原理及配置MSTP負載均衡1 STP協議概述 1.1 環路的危害 單點故障 PC之間的互通鏈路僅僅存在1個 任何一條鏈路出現問題,PC之間都會無法通信解決方案 提高網絡可靠性 增加冗余/備份鏈路產生新的問題 增…

人工智能-基礎篇-20-如何搭建一個人工智能知識庫?

1、前期準備階段 1、明確目標與范圍 目標:確定知識庫的核心用途(如內部文檔共享、客戶服務支持、培訓材料存儲等)。明確預期用戶群體及其需求。范圍:明確覆蓋部門(如技術部、銷售部)、知識類型(…

存儲延時數據,幫你選數據庫和緩存架構

1. 理解存儲媒介量化延時類別描述延時緩存/內存L1 cache reference1 ns緩存/內存L2 cache reference4 ns緩存/內存Main memory reference(DDR4,5 - 10 ns 為補充說明 )100 ns網絡傳輸Send packet CA->Netherlands->CA150,000,000 ns&am…

人工智能領域的頂會

人工智能領域的頂會(頂級學術會議)通常按研究方向劃分,涵蓋機器學習、計算機視覺、自然語言處理、機器人學等多個子領域。這些會議以錄用標準嚴格、學術影響力高著稱,是全球AI研究者交流前沿成果的核心平臺。這些頂會的錄用論文通…

kotlin+MongoTemplate的時間類型為is_date類型 pymongo如何處理

來自AI回答 在 Kotlin 中使用 MongoTemplate(來自 Spring Data MongoDB)時,配置方式和 Java 是一致的,主要通過 MongoClientSettings、MongoTemplate Bean、以及 application.yml 配置完成。 ? 一、MongoTemplate 的配置方式 你可…

Python 機器學習核心入門與實戰進階 Day 7 - 復盤 + 綜合實戰挑戰

? 今日目標綜合應用本周所學的: 分類算法(SVM、決策樹、隨機森林等)模型調參(GridSearchCV)模型持久化(joblib)特征工程與數據構造構建一套完整的二分類建模流程📘 項目任務說明構建…

C#版本的訓練AI模型軟件

程序介紹文檔 項目概述 HL.AI.train 是由深圳海藍智能開發的AI模型訓練與轉換工具,版本號1.2.1.0。該程序基于Windows Forms構建,提供圖形化界面支持YOLOv5和YOLOv8模型的訓練配置、數據集管理以及PyTorch模型到ONNX格式的轉換功能。程序支持CUDA GPU加速…