Pytorch学习第二周--Day 12-13: 构建你的第一个神经网络

Day 12-13: 构建你的第一个神经网络

在这两天里,我动手实践构建了我的第一个神经网络,目的是解决一个基本的分类问题。使用了两个主流的深度学习框架:PyTorch和TensorFlow,以对比和理解它们在神经网络构建方面的不同。

目标:构建一个全连接的神经网络来处理分类问题。

过程:

设计网络结构,包括输入层、若干隐藏层和输出层。

选择合适的激活函数,如ReLU。

定义损失函数和优化器,例如使用交叉熵损失和Adam优化器。

实现:

在PyTorch中,我定义了一个nn.Module类,通过定义forward方法来实现数据的前向传播。

在TensorFlow中,我使用Sequential API来构建模型,这是一种更简洁、更高级的方法。

以下是具体的实现代码:

PyTorch代码示例

import torch

import torch.nn as nn

import torch.optim as optim

定义一个全连接神经网络

class FullyConnectedNN(nn.Module):

def init (self):

super(FullyConnectedNN, self).init ()

self.fc1 = nn.Linear(784, 128) # 假设输入是28x28图像,展平后的大小为784

self.relu = nn.ReLU()

self.fc2 = nn.Linear(128, 10) # 假设有10个类别

复制代码
def forward(self, x):
    x = self.fc1(x)
    x = self.relu(x)
    x = self.fc2(x)
    return x

实例化模型

model = FullyConnectedNN()

定义损失函数和优化器

criterion = nn.CrossEntropyLoss()

optimizer = optim.Adam(model.parameters(), lr=0.001)

TensorFlow代码示例

import tensorflow as tf

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense

定义一个全连接神经网络

model = Sequential([

Dense(128, activation='relu', input_shape=(784,)), # 假设输入是28x28图像,展平后的大小为784

Dense(10, activation='softmax') # 假设有10个类别

])

编译模型

model.compile(optimizer='adam',

loss='sparse_categorical_crossentropy',

metrics=['accuracy'])

在这两个实现中,我专注于构建一个相对简单的神经网络,适用于处理基本的分类问题。通过这个练习,我加深了对神经网络结构和深度学习框架的理解,并获得了实际操作的经验。

相关推荐
lingggggaaaa12 小时前
小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇&魔改冰蝎&打乱特征指纹&新增加密协议&过后门查杀&过流量识别
笔记·学习·安全·魔改冰蝎·免杀对抗·免杀技术
落羽的落羽13 小时前
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化
linux·c++·人工智能·学习·机器学习·c++20·c++40周年
小苏兮13 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
嵌入式-老费13 小时前
自己动手写深度学习框架(神经网络的引入)
人工智能·深度学习·神经网络
无风听海13 小时前
神经网络之向量空间的正交坐标系的数量
人工智能·深度学习·神经网络
im_AMBER13 小时前
React 11 登录页项目框架搭建
前端·学习·react.js·前端框架
拂过世俗的风14 小时前
Hopfield神经网络简介
人工智能·深度学习·神经网络
py有趣20 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
BreezeJuvenile21 小时前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
XH1.1 天前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习