第二次试验第一项

#include<stdio.h>
int main(){
// char n[5];
// int i;
// int j;
// for(i=0;i<5;i++){
// scanf("%c",n[i]);
// }
// for(j=0;j<5;j++){
// printf("%c",n[j]);
// }
// n[5]=getchar();
// for(i=0;i<5;i++){
//  putchar(n[i]);}
// getchar();
// return 0;
 char a,b,c,d,e;
 a=getchar();
 b=getchar();
 c=getchar();
 d=getchar();
 e=getchar();
 putchar(a);
 putchar(b);

 putchar(c);
 putchar(d);
 putchar(e);
 return 0;
}

 

转载于:https://www.cnblogs.com/p201821440034/p/10749936.html

### PyTorch 使用教程与示例代码 PyTorch 是一个开源的深度学习框架,提供了强大的张量操作和自动求导功能。它广泛应用于研究和生产环境中,支持动态计算图,这使得模型构建更加灵活。 #### 1. PyTorch 基础概念 PyTorch 的核心组件包括张量(Tensor)、自动求导(Autograd)和神经网络模块(nn.Module)。张量是 PyTorch 中的基本数据结构,类似于 NumPy 的数组,但具有 GPU 加速能力[^1]。 #### 2. 安装 PyTorch 在开始使用 PyTorch 之前,需要确保正确安装了库。可以通过以下命令安装 PyTorch: ```bash pip install torch torchvision torchaudio ``` #### 3. 张量操作示例 以下是一个简单的张量操作示例: ```python import torch # 创建一个随机张量 x = torch.rand(5, 3) print("随机张量 x:\n", x) # 创建一个全零张量 y = torch.zeros(5, 3) print("全零张量 y:\n", y) # 张量加法 z = x + y print("张量加法结果 z:\n", z) ``` #### 4. 自动求导机制 PyTorch 的 `autograd` 模块可以自动计算梯度,这对于训练神经网络至关重要。以下是一个简单的自动求导示例: ```python # 创建一个需要梯度计算的张量 x = torch.tensor([2.0], requires_grad=True) # 定义函数 y = x^2 y = x ** 2 # 计算梯度 y.backward() # 输出梯度 dy/dx print("梯度 dy/dx:", x.grad) ``` #### 5. 构建神经网络 PyTorch 提供了 `torch.nn` 模块来构建神经网络。以下是一个简单的多层感知机(MLP)示例: ```python import torch.nn as nn import torch.nn.functional as F class SimpleNet(nn.Module): def __init__(self): super(SimpleNet, self).__init__() self.fc1 = nn.Linear(784, 128) # 输入层到隐藏层 self.fc2 = nn.Linear(128, 64) # 隐藏层到隐藏层 self.fc3 = nn.Linear(64, 10) # 隐藏层到输出层 def forward(self, x): x = F.relu(self.fc1(x)) # 第一层 ReLU 激活函数 x = F.relu(self.fc2(x)) # 第二层 ReLU 激活函数 x = self.fc3(x) # 输出层 return x # 初始化模型 model = SimpleNet() print(model) ``` #### 6. 训练模型 以下是一个简单的训练循环示例: ```python import torch.optim as optim # 损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), lr=0.01) # 假设输入数据为 X 和标签为 y X = torch.randn(64, 784) # 批量大小为 64 y = torch.randint(0, 10, (64,)) # 训练步骤 optimizer.zero_grad() # 清空梯度 outputs = model(X) # 前向传播 loss = criterion(outputs, y) # 计算损失 loss.backward() # 反向传播 optimizer.step() # 更新参数 print("损失值:", loss.item()) ``` #### 7. 测试模型 测试模型时,通常关闭梯度计算以节省内存: ```python model.eval() # 设置模型为评估模式 with torch.no_grad(): test_output = model(X) _, predicted = torch.max(test_output, 1) accuracy = (predicted == y).sum().item() / len(y) print("测试准确率:", accuracy) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值