简介

线性回归(Linear Regression)是机器学习最经典的算法之一,具有如下特点:

  1. 自变量服从正态分布;
  2. 因变量是连续性数值变量;
  3. 自变量和因变量呈线性关系。

本实验主要介绍使用MindSpore在模拟数据上进行线性回归实验,分析自变量和因变量之间的线性关系,即求得一个线性函数。

实验目的

  1. 了解线性回归的基本概念和问题模拟;
  2. 了解如何使用MindSpore进行线性回归实验。

实验环境要求

  1. MindSpore 1.3(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
  2. 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
import os
# os.environ['DEVICE_ID'] = '0'
import numpy as npimport mindspore as ms
from mindspore import nn
from mindspore import contextcontext.set_context(mode=context.GRAPH_MODE, device_target="CPU")
x = np.arange(-5, 5, 0.3)[:32].reshape((32, 1))
y = -5 * x +  0.1 * np.random.normal(loc=0.0, scale=20.0, size=x.shape)
net = nn.Dense(1, 1)
loss_fn = nn.loss.MSELoss()
opt = nn.optim.SGD(net.trainable_params(), learning_rate=0.01)
with_loss = nn.WithLossCell(net, loss_fn)
train_step = nn.TrainOneStepCell(with_loss, opt).set_train()for epoch in range(20):loss = train_step(ms.Tensor(x, ms.float32), ms.Tensor(y, ms.float32))print('epoch: {0}, loss is {1}'.format(epoch, loss))wb = [x.asnumpy() for x in net.trainable_params()]
w, b = np.squeeze(wb[0]), np.squeeze(wb[1])
print('The true linear function is y = -5 * x + 0.1')
print('The trained linear model is y = {0} * x + {1}'.format(w, b))for i in range(-10, 11, 5):print('x = {0}, predicted y = {1}'.format(i, net(ms.Tensor([[i]], ms.float32))))from matplotlib import pyplot as pltplt.scatter(x, y, label='Samples')
plt.plot(x, w * x +  b, c='r', label='True function')
plt.plot(x, -5 * x +  0.1, c='b', label='Trained model')
plt.legend()
plt.show()

基于华为MindSpore的线性回归模拟实验相关推荐

  1. 基于华为端口安全的网络实验题

    基于华为端口安全的网络实验题 本端设备 端口号 对端设备 SW1 GE 0/0/1 PC1 SW1 GE 0/0/2 PC2 SW1 GE 0/0/3 PC3 计算机 IP地址 MAC地址 PC1 1 ...

  2. 基于华为云的人脸识别实验

    基于华为云服务的人脸识别实验 环境配置等操作请查看华为云人脸识别服务-入门指导 此处使用的v2版本,需下载相应的SDK 实际效果 代码附上 大致思路: 1. 将图像通过人脸识别服务进行检测,返回检测信 ...

  3. 基于模拟实验理解SDN与传统路由交换网络的关系

    [前言] 近年来,随着"云架构"或者"新基建"等概念不断被提及,以及与之相关的IT项目落地,SDN(软件定义网络)也随之被炒热,加上媒体或者许多培训机构因为各种 ...

  4. NLP实验三:自然语言处理的应用——基于mindspore的情感分类实验

    目录 实验目的 实验内容 实验过程 安装Annaconda: Mindspore框架配置: 结果展示 全部代码 实验目的 使用SentimentNet实现情感分类(基于华为云mindspore框架) ...

  5. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台

    这篇我觉得是写得比较详细完整的 摘自:https://dgzc.ganahe.top/ganahe/2021/uavgazebomoni.html Ubuntu18.04配置搭建基于Gazebo的虚拟 ...

  6. 粒子的散射模拟matlab程序,基于Matlab的α粒子的散射实验模拟.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab 基于Matlab的α粒子的散射实验模拟.pdf3页 ...

  7. 【参赛作品12】基于华为云鲲鹏弹性云服务器部署openGauss数据库-实验

    实验目标与基本要求 指导用户基于华为云鲲鹏云服务器,部署openGauss单机数据库.通过本实验,您能够: 使用openGauss的om工具成功安装openGauss单机数据库. 登录到openGau ...

  8. 基于matlab计算aom衍射效率,傅里叶望远镜大气湍流模拟实验

    引用本文 曾志红, 罗秀娟, 王保峰, 夏爱利, 程志远, 司庆丹. 傅里叶望远镜大气湍流模拟实验.光子学报, 2014,43(6): 601002 ZENG Zhi-hong, LUO Xiu-ju ...

  9. 模拟仿真最终利用计算机,基于计算机仿真模拟实验的应用分析

    计算机技术应用 t h e A p p l i c a t i o n o f C o mp u t e r T e c h n o l o g y 基于计算机仿真模拟实验的应用分析 文/吴婷 Mi ...

最新文章

  1. Python可变序列中的一些坑
  2. vue These dependencies were not found: * core-js/modules/es.array.iterator in ./node_modules/@babe
  3. LINQ 的查询执行何时是延迟执行,何时是立即执行,以及查询的复用
  4. 自律的程度,决定你人生的高度
  5. SVN Error: Can‘t connect to host xxxxx‘: 由于目标计算机积极拒绝,无法连接,的最快解决办法
  6. 前端学习(3063):vue+element今日头条管理-总页码处理2
  7. CentOS yum安装mcrypt详细图解教程[linux]
  8. 简述一下索引的匹配原则_【进阶之路】索引中一些易忽视的点
  9. 一种被国人漠视的精神---狼的精神
  10. char装cstring_MFC中char*,string和CString之间的转换-阿里云开发者社区
  11. 机器视觉基础知识详解
  12. Ubuntu安装腾达u12驱动
  13. 基于关联分析法的美国专利技术网络挖掘(python代码 图文 超详细)
  14. docker官方文档翻译5
  15. android毫秒数转换为时分秒,如何将毫秒转换成单独的时分秒的形式?
  16. Winsock 10106错误解决方法
  17. python 绘制qq图
  18. 云服务器系统种类,云服务器系统种类
  19. win10、ThinkPad遇到静音键不亮,但可以使用的问题
  20. 计算机房的英语该怎么读,计算机机房硬件维护,Computer room hardware maintenance,音标,读音,翻译,英文例句,英语词典...

热门文章

  1. onConfigurationChanged
  2. 多旋翼飞行器设计与控制(一)—— 绪论
  3. python模拟鼠标键盘点击,简单自动化动物餐厅
  4. 扯一下关于魔兽改键的蛋
  5. NISP二级题库总结
  6. Ubuntu部署OpenStack zed版本neutron报错:Feature ‘linuxbridge‘ is experimental and has to be explicitly enab
  7. 悟空分词与mysql结合_悟空分词的搜索和排序源码分析之——索引
  8. NewStarCTF 公开赛赛道 第二周学习记录
  9. android软件工程师应具备的素养
  10. 爬虫入门一:BeautifulSoup解析豆瓣即将上映的电影信息