使用服务器跑深度学习算法

举报
远方2.0 发表于 2024/11/26 16:06:44 2024/11/26
【摘要】 使用服务器跑深度学习算法 前言深度学习是人工智能领域中备受瞩目的技术之一,它通过多层神经网络模拟人脑的学习过程,帮助计算机在语音识别、图像分类和自然语言处理等领域取得突破性进展。相比传统机器学习,深度学习的一个重要特点是可以自动提取特征,而不需要人工定义特征,这大幅提升了效率和效果。在本文中,我们将从简单的代码示例入手,介绍深度学习的基本算法和其背后的核心思想。 一、如何在服务器上跑代码第...

使用服务器跑深度学习算法

前言

深度学习是人工智能领域中备受瞩目的技术之一,它通过多层神经网络模拟人脑的学习过程,帮助计算机在语音识别、图像分类和自然语言处理等领域取得突破性进展。相比传统机器学习,深度学习的一个重要特点是可以自动提取特征,而不需要人工定义特征,这大幅提升了效率和效果。

在本文中,我们将从简单的代码示例入手,介绍深度学习的基本算法和其背后的核心思想。


一、如何在服务器上跑代码

第一步,点击创建实例
image.png

第二步:选择自己心仪的服务器
image.png

第三步:点击立即创建
image.png

第四步 我们创建好实例点击进入
image.png

二、如何跑通深度学习代码

我们用一个简单的深度学习代码示例,用于构建一个两层的神经网络来完成逻辑回归分类任务。我们使用 PyTorch 框架,针对一个简单的二分类任务(例如:判断输入点是属于类别0还是类别1)

1.引入库

代码如下(示例):

import torch
import torch.nn as nn
import torch.optim as optim
import matplotlib.pyplot as plt

2.生成简单数据

代码如下(示例):

# 2. 定义简单的神经网络
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(2, 4)  # 输入为2维,隐藏层为4维
        self.fc2 = nn.Linear(4, 1)  # 隐藏层为4维,输出为1维(二分类)
        self.sigmoid = nn.Sigmoid()  # 二分类激活函数

    def forward(self, x):
        x = torch.relu(self.fc1(x))  # 第一层激活函数ReLU
        x = self.fc2(x)  # 输出层
        x = self.sigmoid(x)  # 使用Sigmoid将输出转换为概率
        return x

# 3. 初始化模型、损失函数和优化器
model = SimpleNN()
criterion = nn.BCELoss()  # 二分类的交叉熵损失
optimizer = optim.Adam(model.parameters(), lr=0.01)

# 4. 训练模型
epochs = 100
losses = []
for epoch in range(epochs):
    # 前向传播
    outputs = model(x_data).squeeze()  # 将模型输出展平
    loss = criterion(outputs, y_data)  # 计算损失

    # 反向传播和优化
    optimizer.zero_grad()  # 梯度清零
    loss.backward()  # 反向传播
    optimizer.step()  # 更新参数

    losses.append(loss.item())
    if (epoch + 1) % 10 == 0:
        print(f"Epoch [{epoch+1}/{epochs}], Loss: {loss.item():.4f}")

# 5. 可视化训练损失
plt.plot(losses)
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.title('Training Loss')
plt.show()

# 6. 测试模型
with torch.no_grad():
    test_point = torch.tensor([[0.6, 0.6], [0.2, 0.2]])
    prediction = model(test_point).squeeze()
    print("Test Points: ", test_point)
    print("Predicted Probabilities: ", prediction)

3 右键新建一个ipynb

image.png

4 最后点击运行结果如下

image.png

总结

通过这个简单的深度学习代码示例,我们学习了如何使用 PyTorch 构建一个两层的神经网络来解决基本的二分类问题。从数据生成到模型训练,再到测试预测,我们完整地体验了深度学习的核心流程。!image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。