搜尋
首頁科技週邊人工智慧使用PyTorch創建一個簡單的神經網路的方法

使用PyTorch創建一個簡單的神經網路的方法

PyTorch是一個基於Python的深度學習框架,用於建立各種神經網路。本文將展示如何使用PyTorch建立簡單的神經網絡,並提供程式碼範例。

首先,我們需要安裝PyTorch。可以透過以下命令在命令列中安裝:

pip install torch

接下來,我們將使用PyTorch建立一個簡單的全連接神經網絡,用於二元分類任務。這個神經網路將有兩個隱藏層,每個隱藏層有10個神經元。我們將使用sigmoid激活函數和交叉熵損失函數。

以下是完整的程式碼:

import torch
import torch.nn as nn
import torch.optim as optim

# 定义神经网络模型
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(2, 10)  # 第一个隐藏层
        self.fc2 = nn.Linear(10, 10)  # 第二个隐藏层
        self.fc3 = nn.Linear(10, 1)  # 输出层

    def forward(self, x):
        x = torch.sigmoid(self.fc1(x))
        x = torch.sigmoid(self.fc2(x))
        x = torch.sigmoid(self.fc3(x))
        return x

# 创建数据集
X = torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=torch.float32)
y = torch.tensor([[0], [1], [1], [0]], dtype=torch.float32)

# 创建神经网络实例
net = Net()

# 定义损失函数和优化器
criterion = nn.BCELoss()
optimizer = optim.SGD(net.parameters(), lr=0.1)

# 训练神经网络
for epoch in range(10000):
    optimizer.zero_grad()
    output = net(X)
    loss = criterion(output, y)
    loss.backward()
    optimizer.step()

    # 打印训练损失
    if epoch % 1000 == 0:
    print('Epoch {}: loss = {}'.format(epoch, loss.item()))

# 使用训练好的神经网络进行预测
with torch.no_grad():
    output = net(X)
    predicted = (output > 0.5).float()
    print('Predicted: {}\n'.format(predicted))

首先,我們定義了一個名為Net的類,它繼承自nn.Module。這個類別包含了神經網路的所有層。在這個例子中,我們定義了三個全連接層,其中前兩個是隱藏層,最後一個是輸出層。

在Net類別中,除了定義了一個forward方法來描述神經網路的前向傳播過程外,我們還使用了sigmoid激活函數將每個隱藏層的輸出傳遞到下一層。

接下來,我們建立了一個包含四個樣本的資料集,其中每個樣本有兩個特徵。我們也定義了一個名為net的神經網路實例,並選擇了BCELoss作為損失函數和SGD作為最佳化器。

然後,我們開始訓練神經網路。在每個迭代中,我們首先將優化器的梯度清零,然後將資料集X傳遞到神經網路中,以獲取輸出。我們計算損失並進行反向傳播,最後使用優化器更新網路參數。我們也列印了每1000個迭代的訓練損失。

訓練完成後,我們使用no_grad上下文管理器對資料集進行預測。我們將輸出四個預測結果,並列印它們。

這是一個簡單的例子,示範如何使用PyTorch建立基本的神經網路。 PyTorch提供了許多工具和函數,可以幫助我們更輕鬆地建立和訓練神經網路。

以上是使用PyTorch創建一個簡單的神經網路的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:网易伏羲。如有侵權,請聯絡admin@php.cn刪除
AI技能差距正在減慢供應鏈AI技能差距正在減慢供應鏈Apr 26, 2025 am 11:13 AM

經常使用“ AI-Ready勞動力”一詞,但是在供應鏈行業中確實意味著什麼? 供應鏈管理協會(ASCM)首席執行官安倍·埃什肯納齊(Abe Eshkenazi)表示,它表示能夠評論家的專業人員

一家公司如何悄悄地努力改變AI一家公司如何悄悄地努力改變AIApr 26, 2025 am 11:12 AM

分散的AI革命正在悄悄地獲得動力。 本週五在德克薩斯州奧斯汀,Bittensor最終遊戲峰會標誌著一個關鍵時刻,將分散的AI(DEAI)從理論轉變為實際應用。 與閃閃發光的廣告不同

NVIDIA釋放NEMO微服務以簡化AI代理開發NVIDIA釋放NEMO微服務以簡化AI代理開發Apr 26, 2025 am 11:11 AM

企業AI面臨數據集成挑戰 企業AI的應用面臨一項重大挑戰:構建能夠通過持續學習業務數據來保持準確性和實用性的系統。 NeMo微服務通過創建Nvidia所描述的“數據飛輪”來解決這個問題,允許AI系統通過持續接觸企業信息和用戶互動來保持相關性。 這個新推出的工具包包含五個關鍵微服務: NeMo Customizer 處理大型語言模型的微調,具有更高的訓練吞吐量。 NeMo Evaluator 提供針對自定義基準的AI模型簡化評估。 NeMo Guardrails 實施安全控制,以保持合規性和適當的

AI為藝術與設計的未來描繪了一幅新圖片AI為藝術與設計的未來描繪了一幅新圖片Apr 26, 2025 am 11:10 AM

AI:藝術與設計的未來畫卷 人工智能(AI)正以前所未有的方式改變藝術與設計領域,其影響已不僅限於業餘愛好者,更深刻地波及專業人士。 AI生成的藝術作品和設計方案正在迅速取代傳統的素材圖片和許多交易性設計活動中的設計師,例如廣告、社交媒體圖片生成和網頁設計。 然而,專業藝術家和設計師也發現AI的實用價值。他們將AI作為輔助工具,探索新的美學可能性,融合不同的風格,創造新穎的視覺效果。 AI幫助藝術家和設計師自動化重複性任務,提出不同的設計元素並提供創意輸入。 AI支持風格遷移,即將一種圖像的風格應用

Zoom如何徹底改變與Agent AI的合作:從會議到里程碑Zoom如何徹底改變與Agent AI的合作:從會議到里程碑Apr 26, 2025 am 11:09 AM

Zoom最初以其視頻會議平台而聞名,它通過創新使用Agentic AI來引領工作場所革命。 最近與Zoom的CTO XD黃的對話揭示了該公司雄心勃勃的願景。 定義代理AI 黃d

對大學的存在威脅對大學的存在威脅Apr 26, 2025 am 11:08 AM

AI會徹底改變教育嗎? 這個問題是促使教育者和利益相關者的認真反思。 AI融入教育既提出了機遇和挑戰。 正如科技Edvocate的馬修·林奇(Matthew Lynch)所指出的那樣

原型:美國科學家正在國外尋找工作原型:美國科學家正在國外尋找工作Apr 26, 2025 am 11:07 AM

美國科學研究和技術發展或將面臨挑戰,這或許是由於預算削減導致的。據《自然》雜誌報導,2025年1月至3月期間,美國科學家申請海外工作的數量比2024年同期增加了32%。此前一項民意調查顯示,75%的受訪研究人員正在考慮前往歐洲和加拿大尋找工作。 過去幾個月,數百項NIH和NSF的撥款被終止,NIH今年的新撥款減少了約23億美元,下降幅度接近三分之一。洩露的預算提案顯示,特朗普政府正在考慮大幅削減科學機構的預算,削減幅度可能高達50%。 基礎研究領域的動盪也影響了美國的一大優勢:吸引海外人才。 35

所有有關打開AI最新的GPT 4.1家庭的信息 - 分析Vidhya所有有關打開AI最新的GPT 4.1家庭的信息 - 分析VidhyaApr 26, 2025 am 10:19 AM

Openai推出了強大的GPT-4.1系列:一個專為現實世界應用設計的三種高級語言模型家族。 這種巨大的飛躍提供了更快的響應時間,增強的理解和大幅降低了成本

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。