神經網絡入門—自定義神經網絡續集

修改網絡

神經網絡入門—自定義網絡-CSDN博客

修改數據集,y=x^2

# 生成一些示例數據
x_train = torch.tensor([[1.0], [2.0], [3.0], [4.0]], dtype=torch.float32)
y_train = torch.tensor([[1.0], [4.0], [9.0], [16.0]], dtype=torch.float32)

將預測代碼改為,可以接收用戶輸入并輸出

# 加載模型
loaded_model = Net()
loaded_model.load_state_dict(torch.load('model.pth'))
loaded_model.eval()  # 將模型設置為評估模式
while True:# 輸入新數據進行預測num=float(input())new_input = torch.tensor([[num]], dtype=torch.float32)with torch.no_grad():prediction = loaded_model(new_input)print(f"輸入 {new_input.item()} 的預測結果: {prediction.item()}")

結果

分析

訓練數據x為[1.0,2.0,3.0,4.0]

x為3.0和3.5時,測試數據與訓練數據較為接近,模型能較為準確預測結果

x為5.0和10.0時,測試數據與訓練數據有一定差別,模型預測結果比較不準確

x為-1時,模型預測為負數,實際應為正數,因為我們的訓練集沒有負數,所以模型沒有學到這點

重新設計網絡

增加-100-100數據集

# 生成 -100 到 100 范圍內的 x
x_train = torch.arange(-100, 101, dtype=torch.float32).unsqueeze(1)
# 計算對應的 y,假設 y 是 x 的平方
y_train = x_train ** 2

Loss收斂慢,網絡不能擬合實際函數

即時增加到3000次迭代仍然不能解決問題/(ㄒoㄒ)/~~

問題:

  1. 模型結構過于簡單:當前模型僅包含兩個全連接層,對于擬合?\(y = x^2\)?這樣的非線性函數,可能表達能力不夠。可以增加網絡的深度和寬度,例如添加更多的隱藏層。
  2. 學習率不合適:學習率太大可能會使訓練過程不穩定,太小則會導致收斂速度過慢。可以嘗試使用自適應學習率的優化器,如 Adam。
  3. 訓練輪數不足:可以適當增加訓練輪數,讓模型有更多的機會學習數據的特征。

增加網絡層數

class Net(nn.Module):def __init__(self):super().__init__()# 增加網絡的寬度和深度self.fc1 = nn.Linear(1, 20)self.fc2 = nn.Linear(20, 20)self.fc3 = nn.Linear(20, 20)self.fc4 = nn.Linear(20, 20)self.fc5 = nn.Linear(20, 1)def forward(self, x):x = self.fc1(x)x = F.relu(x)x = self.fc2(x)x = F.relu(x)x = self.fc3(x)x = F.relu(x)x = self.fc4(x)x = F.relu(x)x = self.fc5(x)return x

增加神經元個數

class Net(nn.Module):def __init__(self):super().__init__()# 增加網絡的寬度和深度self.fc1 = nn.Linear(1, 200)self.fc2 = nn.Linear(200, 200)self.fc3 = nn.Linear(200, 200)self.fc4 = nn.Linear(200, 200)self.fc5 = nn.Linear(200, 1)def forward(self, x):x = self.fc1(x)x = F.relu(x)x = self.fc2(x)x = F.relu(x)x = self.fc3(x)x = F.relu(x)x = self.fc4(x)x = F.relu(x)x = self.fc5(x)return x

Loss波動,疑似出現過擬合

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

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

相關文章

【browser-use+deepseek】實現簡單的web-ui自動化

browser-use Web-UI 一、browser-use是什么 Browser Use 是一款開源Python庫,專為大語言模型設計的智能瀏覽器工具,目的是讓 AI 能夠像人類一樣自然地瀏覽和操作網頁。它支持多標簽頁管理、視覺識別、內容提取,并能記錄和重復執行特定動作。…

Vue--常用組件解析

綁定事件v-on和按鍵修飾符 v-on:click 表示在button元素上監聽click事件 簡寫&#xff1a;click enter space tab 按鍵修飾符 keyup是用戶松開按鍵才觸發 keydown是在用戶按下按鍵時立即觸發 代碼展示&#xff1a; <!DOCTYPE html><html lang"en" xml…

《JVM考古現場(十八):造化玉碟·用字節碼重寫因果律的九種方法》

"鴻蒙初判&#xff01;當前因果鏈突破十一維屏障——全體碼農修士注意&#xff0c;《JVM考古現場&#xff08;十八&#xff09;》即將渡劫飛升&#xff01;" 目錄 上卷陰陽交纏 第一章&#xff1a;混沌初開——JVM因果律的量子糾纏 第二章&#xff1a;誅仙劍陣改—…

前端vue 項目px轉為rem的自適應解決方案

postcss-pxtorem&#xff08;或是postcss-px2rem&#xff09; npm install postcss-pxtorem amfe-flexible --save-dev 在入口文件 main.js 中引入 amfe-flexible&#xff08;響應式適配&#xff09;&#xff1a; main.js import amfe-flexible // 自動設置 html 的 font-s…

基于時間序列分解與XGBoost的交通通行時間預測方法解析

一、問題背景與數據概覽 在城市交通管理系統中,準確預測道路通行時間對于智能交通調度和路徑規劃具有重要意義。本文基于真實道路傳感器數據,構建了一個結合時間序列分解與機器學習模型的預測框架。數據源包含三個核心部分: 道路通行數據(new_gy_contest_traveltime_train…

Day14:關于MySQL的索引——創、查、刪

前言&#xff1a;先創建一個練習的數據庫和數據 1.創建數據庫并創建數據表的基本結構 -- 創建練習數據庫 CREATE DATABASE index_practice; USE index_practice;-- 創建基礎表&#xff08;包含CREATE TABLE時創建索引&#xff09; CREATE TABLE products (id INT PRIMARY KEY…

【C++】繼承:萬字總結

&#x1f4dd;前言&#xff1a; 這篇文章我們來講講面向對象三大特性之一——繼承 &#x1f3ac;個人簡介&#xff1a;努力學習ing &#x1f4cb;個人專欄&#xff1a;C學習筆記 &#x1f380;CSDN主頁 愚潤求學 &#x1f304;其他專欄&#xff1a;C語言入門基礎&#xff0c;py…

Java 架構設計:從單體架構到微服務的轉型之路

Java 架構設計&#xff1a;從單體架構到微服務的轉型之路 在現代軟件開發中&#xff0c;架構設計的選擇對系統的可擴展性、可維護性和性能有著深遠的影響。隨著業務需求的日益復雜和用戶規模的不斷增長&#xff0c;傳統的單體架構逐漸暴露出其局限性&#xff0c;而微服務架構作…

Django3 - 開啟Django Hello World

一、開啟Django Hello World 要學習Django首先需要了解Django的操作指令&#xff0c;了解了每個指令的作用&#xff0c;才能在MyDjango項目里編寫Hello World網頁&#xff0c;然后通過該網頁我們可以簡單了解Django的開發過程。 1.1 Django的操作指令 無論是創建項目還是創建項…

2025阿里云AI 應用-AI Agent 開發新范式-MCP最佳實踐-78頁.pptx

2025阿里云AI 應用-AI Agent 開發新范式-MCP最佳實踐&#xff0c;包含以下內容&#xff1a; 1、AI 應用架構新范式 2、云原生API網關介紹 3、云原生API網關底座核心優勢 4、流量網關最佳實踐 5、AI 網關代理 LLM 最佳實踐 6、MCP網關最佳實踐 7、MSE Nacos MCP Server 注冊中心…

Pytorch深度學習框架60天進階學習計劃 - 第41天:生成對抗網絡進階(一)

Pytorch深度學習框架60天進階學習計劃 - 第41天&#xff1a;生成對抗網絡進階&#xff08;一&#xff09; 今天我們將深入探討生成對抗網絡(GAN)的進階內容&#xff0c;特別是Wasserstein GAN&#xff08;WGAN&#xff09;的梯度懲罰機制&#xff0c;以及條件生成與無監督生成…

大模型到底是怎么產生的?一文了解大模型誕生全過程

前言 大模型到底是怎么產生的呢? 本文將從最基礎的概念開始,逐步深入,用通俗易懂的語言為大家揭開大模型的神秘面紗。 大家好,我是大 F,深耕AI算法十余年,互聯網大廠核心技術崗。 知行合一,不寫水文,喜歡可關注,分享AI算法干貨、技術心得。 【專欄介紹】: 歡迎關注《…

五子棋(測試報告)

文章目錄 一、項目介紹二、測試用例三、自動化測試用例的部分展示注冊登錄游戲大廳游戲匹配 總結 一、項目介紹 本項目是一款基于Spring、SpringMVC、MyBatis、WebSocket的雙人實時對戰五子棋游戲,游戲操作便捷&#xff0c;功能清晰明了。 二、測試用例 三、自動化測試用例的…

idea開發工具多賬號使用拉取代碼報錯問題

設置git不使用憑證管理 把 use credential helper 取消勾選 然后重新pull代碼&#xff0c;并勾選remember 這樣就可以使用多賬號來連接管理代碼了

【OpenCV】【XTerminal】talk程序運用和linux進程之間通信程序編寫,opencv圖像庫編程聯系

目錄 一、talk程序的運用&Linux進程間通信程序的編寫 1.1使用talk程序和其他用戶交流 1.2用c語言寫一個linux進程之間通信&#xff08;聊天&#xff09;的簡單程序 1.服務器端程序socket_server.c編寫 2.客戶端程序socket_client.c編寫 3.程序編譯與使用 二、編寫一個…

【軟考系統架構設計師】信息系統基礎知識點

1、 信息的特點&#xff1a;客觀性&#xff08;真偽性&#xff09;、動態性、層次性、傳遞性、滯后性、擴壓性、分享性 2、 信息化&#xff1a;是指從工業社會到信息社會的演進與變革 3、 信息系統是由計算機硬件、網絡和通信設備、計算機軟件、信息資源、信息用戶和規章制度…

一種基于學習的多尺度方法及其在非彈性碰撞問題中的應用

A learning-based multiscale method and its application to inelastic impact problems 摘要&#xff1a; 我們在工程應用中觀察和利用的材料宏觀特性&#xff0c;源于電子、原子、缺陷、域等多尺度物理機制間復雜的相互作用。多尺度建模旨在通過利用固有的層次化結構來理解…

基于PyQt5的Jupyter Notebook轉Python工具

一、項目背景與核心價值 在數據科學領域,Jupyter Notebook因其交互特性廣受歡迎,但在生產環境中通常需要將其轉換為標準Python文件。本文介紹一款基于PyQt5開發的桌面級轉換工具,具有以下核心價值: 可視化操作:提供友好的GUI界面,告別命令行操作 批量處理:支持目錄遞歸…

圖論之并查集——含例題

目錄 介紹 秩是什么 例子——快速入門 例題 使用路徑壓縮&#xff0c;不使用秩合并 使用路徑壓縮和秩合并 無向圖和有向圖 介紹 并查集是一種用于 處理不相交集合的合并與查詢問題的數據結構。它主要涉及以下基本概念和操作&#xff1a; 基本概念&#xff1a; 集合&…

【數學建模】(智能優化算法)天牛須算法(Beetle Antennae Search, BAS)詳解與Python實現

天牛須算法(Beetle Antennae Search, BAS)詳解與Python實現 文章目錄 天牛須算法(Beetle Antennae Search, BAS)詳解與Python實現1. 引言2. 算法原理2.1 基本思想2.2 數學模型 3. Python實現4.實測效果測試1. Michalewicz函數的最小化測試2. Goldstein-Price函數的約束最小化 5…