pytorch学习笔记(一)-- 《深度学习入门》红色石头
文章目录
- 深度学习基础-红色石头
- 待学习
- 一、python基础知识
- 已学习:
- 二、PyTorch
- 1.安装配置环境
- 2.基础知识
- 三、神经网络基础知识
- 感知机
- 逻辑回归模型
深度学习基础-红色石头
待学习
Anaconda和jupyter notebook
plt.legend()
一、python基础知识
已学习:
- 基础知识
- Numpy矩阵运算
- Matplotlib绘图
列表:
同一列表可以使不同数据类型
索引-1代表倒数第一个元素
a[0:3]包含a[0]、a[1]、a[2],冒号右边是结束索引,不包含在切片内
类:
class 类名:def _init_(self,参数,...):初始化方法def 方法名(self,参数):
Numpy:
深度学习神经网络有大量的矩阵相乘运算,使用numpy大大提高效率。
1、np.arrary()生成数组,加减乘除完成运输,索引和切片来访问和修改。用np.dot()进行矩阵的点乘运算。
2、广播机制:形状不同的数组做运算需要广播机制
维度不同,对小的数组扩展
某个维度长度一样是相容的,就可以使用广播机制
采用复制数组方法扩展数组
Matplotlib:
#导入库函数
import numpy as np
import matplotlib.pyplot as plt#生成数据
x = np.arange(0,4 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)#绘图
plt.plot(x, y_sin)
plt.plot(x, y_cos, '--')#坐标
plt.xlabel('x')
plt.ylabel('y')#标题
plt.title('sin and cos')
#
plt.legend(['sin', 'cos'])
#绘制散点图
plt.scatter(x1, y1, marker='o')
plt.scatter(x2, y2, marker='s')
plt.show()
机器学习中的决策边界绘制
二、PyTorch
1.安装配置环境
参考博客:
pycharm搭建pytorch环境
Anaconda+Pycharm环境下的PyTorch配置方法
查看pytorch的安装位置/路径
2.基础知识
供查阅的博客
1、pytorch: Tensor 常用操作
- 张量
- 自动求导
- torch.nn 和 torch.optim
2.1 张量
import torch
# 创建一个张量
x = torch.randn(2, 2)
print(x)# 用列表创建
x = torch.tensor([[1, 2], [3, 4]])
print(x)# 根据现有张量创建指定类型
x = torch.zeros(2, 2, dtype=torch.long)
y = torch.ones_like(x)# 张量相加
z = x + y
# 或者
z = torch.add(x, y)# 张量 矩阵相乘
x = torch.tensor([[1, 2], [3, 4]])
y = torch.tensor([[1, 2], [3, 4]])
y = x.mm(y)# 转换为Numpy数组,张量x发生变化,对应numpy数组a也会有相同变化
a = x.numpy()
# 转换为张量
x = torch.from_numpy(a)**# 将张量(默认在cpu)移动到GPU里**
a = torch.ones(2, 2)
if torch.cuda.is_available():a_cuda = a.cuda()
print(a_cuda)
2.2 自动求导
import torch# # 设置自动求导功能
x = torch.ones(2, 2, requires_grad=True)
y = torch.ones(2, 2, requires_grad=True)
z = x + y
z = z.mean()
# 返回值是标量
z.backward()
#返回值是张量
z.backward(torch.ones_like(z))
#求z对x和对y的偏导数
print(x.grad)
print(y.grad)# 测试集时禁止设置requires_grad=True的张量进行自动求导
with torch.no_grad():print((2 * x).requires_grad)
#输出值是false
2.3 训练神经网络的重要的包
阅读博客:
深入理解 TORCH.NN
三、神经网络基础知识
感知机
感知机是一种最简单的二分类模型,多层感知机类似神经网络,解决非线性问题。
逻辑回归模型
1、用sigmoid函数代替感知器的阶跃函数
2、损失函数
3、梯度下降算法
实践:
numpy.random.seed()
numpy.random.seed()函数可使得随机数具有预见性,即当参数相同时使得每次生成的随机数相同;当参数不同或者无参数时,作用与numpy.random.rand()函数相同,即多次生成随机数且每次生成的随机数都不同
sklearn的快速使用
pytorch学习笔记(一)-- 《深度学习入门》红色石头相关推荐
- 深度学习入门之PyTorch学习笔记:深度学习介绍
深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...
- 学习笔记:深度学习(3)——卷积神经网络(CNN)理论篇
学习时间:2022.04.10~2022.04.12 文章目录 3. 卷积神经网络CNN 3.1 卷积神经网络的概念 3.1.1 什么是CNN? 3.1.2 为什么要用CNN? 3.1.3 人类的视觉 ...
- 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(二)
长篇博文记录学习流程不容易,请关注.转发.点赞.评论,谢谢! 上一篇文章:Docker学习笔记与深度学习环境的搭建和部署(一) 文章末尾附加nvidia455.23.cuda11.1.cudnn8.0 ...
- ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10)
ScalersTalk 机器学习小组第 21 周学习笔记(深度学习-10) Scalers点评:机器学习小组是成长会的内部小组,这是成长会机器学习小组第21周学习笔记,也是深度学习第10次的复盘笔记 ...
- 学习笔记:深度学习(6)——基于深度学习的语言模型
学习时间:2022.04.22~2022.04.25 文章目录 5. 基于深度学习的语言模型 5.1 从NNLM到词嵌入 5.1.1 神经网络语言模型 NNLM 5.1.2 基于循环神经网络的语言模型 ...
- 深度学习入门之PyTorch学习笔记:深度学习框架
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 2.1 深度学习框架介绍 2.1.1 TensorFlow 2.1.2 Caffe 2.1.3 Theano 2.1.4 ...
- [深度学习笔记(1)]深度学习入门
本系列是博主刚开始接触深度学习时写的一些笔记,写的很早了一直没有上传,趁着假期上传一下,作为分享,希望能帮助到你. 目录 前言 一.什么是深度学习 二.深度学习的应用 三.深度神经网络的难题 3.1 ...
- 第1周学习笔记:深度学习和pytorch基础
目录 一 视频学习 1.绪论 2.深度学习概述 二 代码学习 1.Pytorch基础练习 2.螺旋数据分类 一 视频学习 1.绪论 人工智能(Artificial Intelligence):使一部机 ...
- [学习笔记] python深度学习---第三章 神经网络入门
一.神经网络剖析 1. 训练神经网络主要围绕以下四个方面: (1) 层,多个层组合成网络(或模型). (2)输入数据和相应的目标. (3)损失函数,即用于学习的反馈信号. (4)优化器,决定学习过程如 ...
- 吴恩达深度学习代码_吴恩达深度学习笔记(58)-深度学习框架Tensorflow
TensorFlow 有很多很棒的深度学习编程框架,其中一个是TensorFlow,很期待帮助你开始学习使用TensorFlow,我想在这个笔记中向你展示TensorFlow程序的基本结构,然后让你自 ...
最新文章
- osg中实现HUD(OSG初级篇1)
- 单细胞10x的数据读取不进去怎么办?
- 数据资源 | ​社会科学数据资源
- CA certificate
- 可在广域网部署运行的QQ高仿版 -- GG叽叽(开源)
- CentOs登陆输入root作为用户名
- imitativesimulate
- 32 vs 开发wince_“激光大炮”上央视了!秒射气球 一键启动32响
- 【渝粤教育】国家开放大学2018年春季 3950T金融基础 参考试题
- 一个经典的WIN32窗口应用
- 区块链100讲:ERC20 中文版
- android wifi ap sta,WIFI的AP/Sta模式简单介绍
- LBP(Local Binary Patterns)局部二进制模式
- Redis之利用锁机制来防止缓存过期产生的惊群现象
- 注册表删除方式解决Navicat到期问题
- Android中侧滑菜单效果实现(主界面和菜单界面实现平移、缩放、滚动动画)
- pd.plotting.register_matplotlib_converters() 的作用
- 关于使用RedisTemplate在主从架构下使用Lettuce的情况下如何实现读写分离
- Java编程题(3)
- hiho 1613 - 墨水滴 - bfs+优先队列 *
热门文章
- Android Studio 配置 gradle 脚本错误:Gradle DSL method not found: 'minus()
- 【数学之美】分形——发现隐藏的维度
- 在Vue中使用Echarts来实现(数据可视化)
- 孔雀鱼幼鱼的第一个月生长成长重要阶段
- 信用卡客户风险分析与评价
- 【buildroot】buildroot使用总结
- Content-Disposition:attachment没有触发浏览器下载弹框
- 远程控制 Error: LoadLibrary failed with error 87 显示
- Debug究竟是什么意思?
- 爬虫爬取豆瓣电影排行榜