核心代码:
图卷积网络

import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConvfrom torch_geometric.datasets import Planetoid
dataset = Planetoid(root='/tmp/Cora', name='Cora')class Net(torch.nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 = GCNConv(dataset.num_node_features, 16)self.conv2 = GCNConv(16, dataset.num_classes)def forward(self, data):x, edge_index = data.x, data.edge_indexx = self.conv1(x, edge_index)x = F.relu(x)x = F.dropout(x, training=self.training)x = self.conv2(x, edge_index)return F.log_softmax(x, dim=1)device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = Net().to(device)
data = dataset[0].to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)model.train()
for epoch in range(200):optimizer.zero_grad()out = model(data)loss = F.nll_loss(out[data.train_mask], data.y[data.train_mask])loss.backward()optimizer.step()model.eval()
_, pred = model(data).max(dim=1)
correct = float(pred[data.test_mask].eq(data.y[data.test_mask]).sum().item())
acc = correct / data.test_mask.sum().item()
print('Accuracy: {:.4f}'.format(acc))

随机梯度下降法


import numpy as np
import math
import randomx = np.random.choice(np.array([2104, 1600, 2400, 1416, 3000]),5)
x1 = np.random.choice(np.array([3,3,3,2,4]),5)
t = np.random.choice(np.array([400, 330, 369, 232, 540]),5)
a = 0.0000100error = 0.00001dert = random.random()
dert1 = random.random()
dert2 = random.random()sit = random.random()
sit2 = random.random()
sit3 = random.random()for i in range(0, 5):while (dert > error or dert1 > error or dert2 > error):dert = (sit+sit2*x[i]+sit3*x1[i]-t[i])*1dert1 = (sit + sit2 * x[i] + sit3 * x1[i] - t[i]) * x[i]dert2 = (sit + sit2 * x[i] + sit3 * x1[i] - t[i]) * x1[i]sit = sit - dert * asit2 = sit2 - dert1*asit3 = sit3 - dert2*aprint(dert)
print(dert1)
print(dert2)print(sit)
print(sit2)
print(sit3)x3 = 3600
x4 = 5
h = sit + sit2*x3 + sit3*x4
print(h)

作业:pytorch实现图卷机网络,与随机梯度下降法实现相关推荐

  1. PyTorch(13)---优化器_随机梯度下降法

    优化器:随机梯度下降法 反向传播-梯度下降 import torch import torchvision from torch import nn from torch.nn import Conv ...

  2. 基于随机梯度下降法的手写数字识别、epoch是什么、python实现

    基于随机梯度下降法的手写数字识别.epoch是什么.python实现 一.普通的随机梯度下降法的手写数字识别 1.1 学习流程 1.2 二层神经网络类 1.3 使用MNIST数据集进行学习 注:关于什 ...

  3. 随机梯度下降法、牛顿法、冲量法、AdaGrad、RMSprop以及Adam优化过程和理解

    在神经网络的训练中我们会遇到一个问题,那就是如何有效的对损失函数求梯度.在我另一篇文章中有讲过关于梯度下降的过程和为什么负梯度方向是下降的最快方向[也就是我们希望损失函数下降],大家可以看看这篇文章, ...

  4. 深度学习初级课程 3.随机梯度下降法

    深度学习初级课程 1.单一神经元 2.深度神经网络 3.随机梯度下降法 4.过拟合和欠拟合 5.剪枝.批量标准化 6.二分类问题 应用.用TPU探测希格斯玻色子 正文 介绍 在前两节课中,我们学习了如 ...

  5. 【数据挖掘】神经网络 后向传播算法 ( 梯度下降过程 | 梯度方向说明 | 梯度下降原理 | 损失函数 | 损失函数求导 | 批量梯度下降法 | 随机梯度下降法 | 小批量梯度下降法 )

    文章目录 I . 梯度下降 Gradient Descent 简介 ( 梯度下降过程 | 梯度下降方向 ) II . 梯度下降 示例说明 ( 单个参数 ) III . 梯度下降 示例说明 ( 多个参数 ...

  6. 梯度下降法和随机梯度下降法

    1. 梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度.比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y) ...

  7. 机器学习:随机梯度下降法

    1.梯度下降 1)什么是梯度下降? 因为梯度下降是一种思想,没有严格的定义,所以用一个比喻来解释什么是梯度下降. 简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方.但是因为选择方向的原因, ...

  8. 随机梯度下降法 SGD

    1. 梯度下降 batch_size = 1: SGD batch_size = n: mini-batch batch_size = 全部训练集大小:batch SGD 对比: (1)batch S ...

  9. 机器学习中的数学原理——随机梯度下降法

    这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下<白话机器学习中的数学--随机梯度下降法>! ...

最新文章

  1. java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现
  2. express 应用模板引擎jade,ejs
  3. nginx日志中添加请求的response日志
  4. JavaScript实现的水珠动画效果
  5. python爬取内容剔除nbsp_python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法...
  6. idea docker 一键部署实战
  7. oracle进行日志切换,Oracle存档日志切换案例操作
  8. 深入理解双线性插值算法
  9. js金额小写转换成大写
  10. 小马哥----高仿苹果6S A235刷机拆机图与开机界面图 真八核6735芯片 精仿系列机
  11. SSL2895 购买干草
  12. php网站风格一键仿制,PHP镜像网站程序的实现原理,快速一键克隆其它网站
  13. Linux系统查看有几块硬盘
  14. 计算机一分钟最快打多少字,世界上打字最快的人 马特斯科娃一分钟打多少字...
  15. P2356 弹珠游戏
  16. 当今社会22大流行骗术曝光-请大家警惕
  17. 使用itextpdf编辑PDF
  18. c语言程序设计教程 许勇,C语言程序设计应用教程 教学课件 许勇 第3章 程序流程控制.pdf...
  19. 中英文词性标注对照表
  20. 并行编译和运行非结构化网格SWAN

热门文章

  1. 项目管理心得:一个项目经理的个人体会、经验总结
  2. Redis-设置过期时间及淘汰策略
  3. 影视寒冬,但却可能是广告主营销的机遇
  4. git仓库迁移(阿里云git切换到公司内部的gitlab)
  5. marvin java_使用Java中的Marvin框架去除轮廓
  6. 崩溃边缘 on No getter method for property
  7. 科普扫盲---ssh免密登陆(ssh的一些小秘密)
  8. 支付宝RAS密钥生成器SHAwithRSA1024_V1.0打开后窗口一闪而过迅速关闭的解决办法
  9. java实现第四届蓝桥杯公式求值
  10. 打造一个生命周期感知的MVP架构