本文针对本人学习pytorch的分类问题,自己写了一个简单的code

import numpy as np
from collections import Counter
from sklearn import datasets
import torch.nn.functional as Fun
from torch.autograd import Variable
import matplotlib.pyplot as plt
import torch#数据准备
dataset = datasets.load_iris()
dataut=dataset['data']
priciple=dataset['target']
input=torch.FloatTensor(dataset['data'])
label=torch.LongTensor(dataset['target'])#定义BP神经网络
class Net(torch.nn.Module):def __init__(self, n_feature, n_hidden, n_output):super(Net, self).__init__()self.hidden = torch.nn.Linear(n_feature, n_hidden)   # hidden layerself.out = torch.nn.Linear(n_hidden, n_output)   # output layerdef forward(self, x):x = Fun.relu(self.hidden(x))      # activation function for hidden layer we choose sigmoidx = self.out(x)return xnet = Net(n_feature=4, n_hidden=20, n_output=3)
optimizer = torch.optim.SGD(net.parameters(), lr=0.02) #SGD: 随机梯度下降
loss_func = torch.nn.CrossEntropyLoss() #针对分类问题的损失函数![在这里插入图片描述](https://img-blog.csdnimg.cn/20190108120127973.png)#训练数据
for t in range(500):out = net(input)                 # input x and predict based on xloss = loss_func(out, label)     # 输出与label对比optimizer.zero_grad()   # clear gradients for next trainloss.backward()         # backpropagation, compute gradientsoptimizer.step()        # apply gradientsout = net(input) #out是一个计算矩阵,可以用Fun.softmax(out)转化为概率矩阵
prediction = torch.max(out, 1)[1] # 1返回index  0返回原值
pred_y = prediction.data.numpy()
target_y = label.data.numpy()
accuracy = float((pred_y == target_y).astype(int).sum()) / float(target_y.size)
print("莺尾花预测准确率",accuracy)

利用pytorch 做一个简单的神经网络实现sklearn库中莺尾花的分类相关推荐

  1. python自己做个定时器_技术图文:如何利用 Python 做一个简单的定时器类?

    原标题:技术图文:如何利用 Python 做一个简单的定时器类? 背景 今天在B站上看有关 Python 最火的一个教学视频 -- "零基础入门学习 Python",这也是我们 P ...

  2. 利用Python做一个简单的对战小游戏

    利用Python做一个简单的文字对战小游戏 一.游戏介绍 1.大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标.两人在对战时同时攻击对方,同时造成 ...

  3. 技术图文:如何利用 Python 做一个简单的定时器类?

    背景 今天在B站上看有关 Python 最火的一个教学视频,零基础入门学习 Python,这也是我们 Python基础刻意练习活动 的推荐视频教程. 在学习魔法方法的时候,有一节视频是制作一个简单的定 ...

  4. 利用python做一个简单小应用--学生通讯录管理系统

    该简单学生通讯录管理系统六个可操作过程 1.添加学生 2.删除学生 3.修改学生 4.查询学生 5.获取所有学生通讯信息 6.退出系统 话不多说,上代码 # -*- codeing = utf-8 - ...

  5. 利用java做一个简单的计算器

    共两个类.还只是完成+.-.×.÷运算而已. GUI只是用了AWT,很简单,相信一看就能懂了. Calculator.java public class Calculator{ private Str ...

  6. 利用Python做一个简单的打印店计费程序

    我自己买了一个打印机,除了自己用,打算方便大家,为大家提供付费打印服务. 按张数 x 计费: 1.你有纸,每张0.2元:0.2 * x 2.没纸,我有纸,分段计费: (1)1到20张,每张0.3元:0 ...

  7. 使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络

    使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络 本文例程部分主要参考官方文档. JAX简介 JAX 的前身是 Autograd ,也就是说 JAX 是 Autograd 升级版本 ...

  8. 基于PyTorch,如何构建一个简单的神经网络

    本文为 PyTorch 官方教程中:如何构建神经网络.基于 PyTorch 专门构建神经网络的子模块 torch.nn 构建一个简单的神经网络. 完整教程运行 codelab→ https://ope ...

  9. html与css编程证书,利用CSS布局做一个简单的荣誉证书(代码示例)

    本篇文章将给大家介绍如何使用css布局制作一个简单的荣誉证书,有趣且实用,希望对需要的朋友有所帮助! 那么利用css布局实现简单荣誉证书样式的效果是非常简单的,主要用到以下几个基础属性: backgr ...

最新文章

  1. uploadify初体验
  2. Python学习总结5:数据类型及转换
  3. 基于python的人脸识别技术_用Python写个简单但强大的人脸识别系统
  4. idea添加jboss_如何将云持久存储添加到JBoss Cool Store
  5. 结构体中vector自动为0_面试题:你是如何选择顺序存储数据结构的?
  6. EMLOG仿微信主题模板V3.11
  7. SAP License:获利分析的两种方式比较
  8. 技术博客2013年2月份头条记录
  9. mysql的建表语句_三种常用的MySQL建表语句
  10. python图片分类毕业设计成果报告书_4period;毕业设计成果报告书
  11. sprintf函数的用法linux,sprintf函数用法解析
  12. 圆柱体积计算机公式,圆柱的体积计算公式是什么 怎么计算
  13. 三层交换机如何配置为网关
  14. 关于DNS污染问题的通用解决方案
  15. 单点登录怎么整合项目_如何推销新项目:整合设计,创建登录页面并“吸引”用户...
  16. C++函数的定义与使用
  17. 【读书笔记】码农翻身 - 简介
  18. 【干货#008】30分钟实战知晓云内容发布小程序
  19. 百度地图——多点标记及路线
  20. 小程序的发布上线流程

热门文章

  1. 微积分review 极限,迫敛性,极限四则运算,自然常数来历
  2. 推荐一些学习类APP
  3. 互联网观察:2021年2月信息流资讯类App月活排名分析
  4. php微信支付mch_id参数格式错误,再说一下微信支付踩到的坑 mch_id 参数格式错误...
  5. 【信号处理】Matlab实现语音变速变调
  6. 若关于x,y的方程组ax+3y=9,2x-y=1无解,则a的值为()
  7. D. Little Girl and Maximum XOR(贪心)
  8. Tesseract-OCR 图片数字识别的样本训练
  9. 近况记录丨脑子错乱!
  10. Android手机上,利用bat脚本模拟用户操作