深度学习基础快速入门

article/2025/11/6 3:24:44

目录

一、前言

二、MRI成像方向相关

三、相关技术文档

四、环境搭建相关

五、深度学习常用的函数

5.1numpy的使用

numpy.ones

numpy.transpose

numpy.delete

5.2matplot散点图绘制

5.3torch的使用

六,深度学习知识方面

6.1梯度

6.2loss函数

七、卷积神经网络

7.1全连接层

7.2如何减轻overfiting,

7.3,卷积

八、常见的图像重建

8‘1图像超分辨率重建

什么是惩罚项?


一、前言

博主是做图像处理的医学成像方向的,所以会介绍一部分医学成像方面的知识,之后会介绍一些环境搭建和pytorch深度图像处理方面的知识。

二、MRI成像方向相关

pythorch使用的是动态图,二TensorFlow使用的静态图
MRI成像 技术参数MRI的加速参数与技术汇总 - 百度文库
加速因子加快磁共振成像的参数汇总--磁共振快速成像技术 - 知乎

三、相关技术文档

pytorch中文文档PyTorch 入门 - PyTorch官方教程中文版

pycharm常用快捷键Pycharm 常用快捷键 - 暮良文王 - 博客园,按住ctrll加鼠标左键转到函数定义处

python画图常用Python之Matplotlib库常用函数大全(含注释)_程序人韭菜花的博客-CSDN博客_matplotlib函数大全

,matplot这个链接特别好用Matplotlib — Visualization with Python

numpy教程链接NumPy:NumPy 安装 | 菜鸟教程

panda库文件操作库pandas库简单入门_K同学啊的博客-CSDN博客_pandas库

seaborn库也是一个画图库画特征和特征之间的Python的seaborn库_fenfenxhf的博客-CSDN博客_python seaborn

seaborn库第一推荐Python数据可视化—seaborn简介和实例_wenwut的博客-CSDN博客_seaborn

shift+enter光标不在最后也可以换行,Tab 自动补全Ctrl+z 撤销,按住Ctrl,鼠标点击包名,能进入包,看底层代码
软件版本安装对应,选中多行,按tab进行缩进,按tab+shift去除缩进

四、环境搭建相关

https://jingyan.baidu.com/article/bea41d43d5741fb4c51be6f7.html cuda是否成功

遇到不熟的函数可以去里面查Docs | Apache MXNet

框架搭建顺序就是Anconda---->pycharm------>cuda----->cudnn---->pytorch
cuda安装1.windows下cuda的安装 - wenglabs - 博客园  2.windows下CUDA的卸载以及安装_花花少年的博客-CSDN博客_cuda卸载


五、深度学习常用的函数

5.1numpy的使用

bunpy的创建只需要调用Numpy的arry函数numpy.arry(列表)
import numpy as np
a = np.array([1,2,3],order='F')
print (a)
import numpy as np 
a = np.array([[1,  2],  [3,  4]])  
print (a)

在[]里面一个中括号就是一行,下面是创建复数,数据类型是type即可

import numpy as np
a = np.array([1,  2,  3], dtype = complex)
print (a)

很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作,注意在Matlab和numpy中列在前

a = np.arange(24)就是产生0到23的一个列表,ndarray.ndim 用于返回数组的维数,等于秩,
ndarray.ndim秩,即轴的数量或维度的数量
ndarray.shape数组的维度,对于矩阵,n 行 m 列
ndarray.size数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtypendarray 对象的元素类型
ndarray.itemsizendarray 对象中每个元素的大小,以字节为单位
ndarray.flagsndarray 对象的内存信息
ndarray.realndarray元素的实部
ndarray.imagndarray 元素的虚部
ndarray.data

包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

import numpy as np  
a = np.array([[1,2,3],[4,5,6]])  
print (a.shape)

shape也可以用来改变数组的大小,但是一般习惯用reshape

import numpy as np a = np.array([[1,2,3],[4,5,6]]) 
b = a.reshape(3,2)  
print (b)
输出结果为:[[1, 2] [3, 4] [5, 6]]

itemsize返回所占用的字节

import numpy as np # 数组的 dtype 为 int8(一个字节)  
x = np.array([1,2,3,4,5], dtype = np.int8)  
print (x.itemsize)

1,创建指定形状指定数据类型的空数组使用numpy.empty,形状就是说要指定行和列

numpy.empty(shape, dtype = float, order = 'C')
import numpy as np 
x = np.empty([3,2], dtype = int) 
print (x)

numpy.ones

创建指定形状的数组,数组元素以 1 来填充:

import numpy as np
# 默认为浮点数
x = np.ones(5)
print(x)

NumPy 迭代器对象 numpy.nditer(a) 提供了一种灵活访问一个或者多个数组元素的方式,可以把多维数组以一维的方式一个一个输出

import numpy as np
x = np.arange(6).reshape([2,3])
for i in np.nditer(x):print(i, end=", ")
print('\n')

cuda安装失败CUDA安装失败的解决经验_Jasmine_z_s的博客-CSDN博客_cuda安装失败

a.T就是对a进行转置,默认是按行访问,下面一个是按照行来访问一个是按照列来访问

import numpy as np a = np.arange(0,60,5) 
a = a.reshape(3,4)  
print ('原始数组是:')
print (a)
print ('\n')
print ('以 C 风格顺序排序:')
for x in np.nditer(a, order =  'C'):  print (x, end=", " )
print ('\n')
print ('以 F 风格顺序排序:')
for x in np.nditer(a, order =  'F'):  print (x, end=", " )
输出结果为:原始数组是:
[[ 0  5 10 15][20 25 30 35][40 45 50 55]]以 C 风格顺序排序:
0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 以 F 风格顺序排序:
0, 20, 40, 5, 25, 45, 10, 30, 50, 15, 35, 55,

修改数组中的值nditer 对象有另一个可选参数 op_flags。 默认情况下,nditer 将视待迭代遍历的数组为只读对象(read-only),为了在遍历数组的同时,实现对数组元素值得修改,必须指定 read-write 或者 write-only 的模式x[...],x[...]=2*x,直接修改元素里面的值

import numpy as npa = np.arange(0,60,5) 
a = a.reshape(3,4)  
print ('原始数组是:')
print (a)
print ('\n')
for x in np.nditer(a, op_flags=['readwrite']): x[...]=2*x 
print ('修改后的数组是:')
print (a)

print (a.flatten(order = 'F'))默认按照行展开print (a.ravel(order = 'F')),默认也是按照行展开,两个函数的功能是类似的,当然也是可以通过控制np.nditer(a, order =  'C')中nditer的参数来访问

原数组:
[[0 1 2 3][4 5 6 7]]展开的数组:
[0 1 2 3 4 5 6 7]

翻转数组

numpy.transpose

numpy.transpose 函数用于对换数组的维度,格式如下:

numpy.transpose(arr, axes)

参数说明:

A,B 

在Python中,函数其实是一个对象:>>> f = abs
>>> f.__name__
'abs'
>>> f(-123)由于 f 可以被调用,所以,f 被称为可调用对象。所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法call()。我们把 Person 类变成一个可调用对象:class Person(object):def __init__(self, name, gender):self.name = nameself.gender = genderdef __call__(self, friend):print 'My name is %s...' % self.nameprint 'My friend is %s...' % friend现在可以对 Person 实例直接调用:>>> p = Person('Bob', 'male')
>>> p('Tim')
My name is Bob...
My friend is Tim...

缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。

        放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。

      下采样原理:对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值:

     上采样原理:图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。

无论缩放图像(下采样)还是放大图像(上采样),采样方式有很多种。如最近邻插值,双线性插值,均值插值,中值插值等方法
a.view(-1)将数据打散为1维

import torch
a = torch.randn(3,5,2,2)
print(a)
print(a.view(-1))

np.random.seed(0)的作用是使得每次预测的产生的随机数是相同的,因为有的时候随机数不同,里面的参数就是起始的一个位置,
 


http://chatgpt.dhexx.cn/article/SaSZ0L16.shtml

相关文章

【深度学习基础】《深度学习》李宏毅

目录 Lecture I: Introduction of Deep Learning 1. 深度学习的步骤 2. 全连接前馈神经网络(Fully Connect Feedforward Network) 2.1 神经元 2.2. 激励函数 2.3 Softmax layer 2.4 网络结构 2.5 应用举例(数字识别) 3. …

深度学习基础知识教程

本文主要分享一些深度学习入门的学习途径,同学们共同进步呀! 首先说下学习深度学习必备技能: Python、高等数学(现代、微积分)、英文文献阅读、查找资料(博客、论坛、Git) 个人认为如果以前…

mysql索引优化 - 多表关联查询优化

1 left join EXPLAIN SELECT * FROM class LEFT JOIN book ON class.card book.card; LEFT JOIN条件用于确定如何从右表搜索行, 左边一定都有, #所以右边是我们的关键点,一定需要建立索引 。 结论: 在优化关联查询时,…

Clickhouse一级索引优化方案

文章目录 Clickhouse的应用场景1、索引介绍1.1、主要索引1.2、二级索引1.2.1、数据跳过索引 2、一级索引优化2.1、CK的sql的优化方向2.2、验证过程结论: 2.3、如何修改排序键总结: 3、二级索引(跳数索引) 知识点查看Clickhouse的执…

Mysql详解——索引优化

本篇文章是对Mysql索引的创建以及优化进行一个介绍,关于索引的底层原理可以看我另一篇文章:Mysql详解——索引详解 文章目录 一、索引的创建和设计原则1. 索引的声明和使用1.1 索引的分类:1.2 索引的创建:在创建表时创建索引&…

MySQL SQL和索引优化总结

文章目录 一、SQL语句和索引的优化二、应用优化三、MySQL Server优化1. 自适应哈希索引2. redo log3. MySQL查询缓存4. 索引和数据缓存5. MySQL线程缓存6. 并发连接数量和超时时间 首先我们需要知道MySQL主要是从以下3个方面进行优化: SQL语句和索引应用优化&#…

mysql嵌套子查询索引_SQL 子查询,索引优化

场景 索引优化 单列索引 多列索引 索引覆盖 排序 场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据100条 学生表: create table Student( id int PRIMARY KEY, name varchar(10) ) 数据70000条 …

索引如何优化

前言 索引的相信大家都听说过,但是真正会用的又有几人?平时工作中写SQL真的会考虑到这条SQL如何能够用上索引,如何能够提升执行效率? 此篇文章详细的讲述了索引优化的几个原则,只要在工作中能够随时应用到&#xff0c…

MySQL高级-索引优化(超详细)

性能分析 MySQL Query Optimizer Mysql中由专门负责优化SELECT语句的优化器,主要功能就是通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的,但**不一定是DBA觉得最优的&#xff0…

mysql locate索引_MYSQL索引优化

1.查看sql的执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连接)的计结果和 global 级(自数据库上次启动至今)的统计结…

索引优化详解

一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果…

索引优化原则

1、全值匹配 查询语句尽量使用全值匹配。 2、左前缀原则 如果一个索引是组合索引,索引了多列,要遵循左前缀原则,即查询从索引的左前缀开始,不能跳过索引中间的列。 3、不要在索引列上操作 操作包括:计算、函数、自动…

项目中常用的MySQL优化你知道多少?

项目中常用的MySQL优化 文章目录 项目中常用的MySQL优化前言一、mysql优化是什么?二、优化步骤1.EXPLAIN2.SQL语句中IN包含的值不应太多3.SELECT语句务必指明字段名称4.如果排序字段没有用到索引,就尽量少排序5.如果限制条件中其他字段没有索引&#xff…

一文带你你搞懂索引如何优化!!!

前言 索引的相信大家都听说过,但是真正会用的又有几人?平时工作中写SQL真的会考虑到这条SQL如何能够用上索引,如何能够提升执行效率?此篇文章详细的讲述了索引优化的几个原则,只要在工作中能够随时应用到,相…

使用AJAX实现数据的增删改查

主页&#xff1a;index.html <!DOCTYPE html><html> <head> <meta charset"UTF-8"> <title></title> <script src"http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script> </head> <body…

合肥工业大学数据库上机实验3(第3次实验)

大三上学期的实验了&#xff0c;一直没来得及放到博客上面&#xff0c;博主所在学校的数据库实验都很简单。&#xff08;不明白为什么截图上传之后为什么那么糊&#xff09; 文章目录 实验9&#xff1a;触发器的创建与使用1. 实验目的2. 实验要求3. 实验内容4. 实验步骤5. 实验…

第三章课后题

3.有两个关系S(A,B,C,D)和T(C,D,E,F)&#xff0c;写出与下列等价的SQL表达式。 &#xff08;1&#xff09; σ A 10 ( S ) \sigma_{A10}(S) σA10​(S) 对行的选择&#xff0c;列全部显示。 SELECT * FROM S WHERE A10;&#xff08;2&#xff09; Π A , B ( S ) \Pi_{A,B}(…

SQL 数据库上机实验(查询操作)

大二数据库上机实验 实验一实验二 实验一 实验步骤&#xff1a; 1&#xff1a;创建数据库“shiyan2”&#xff1b; 2&#xff1a;创建数据表’s’,’p’,’j’&#xff1b; 3&#xff1a;创建数据表’spj’并设定’sno’,’pno’,’jno’三列为外键&#xff0c;分别关联于s表的…

实验3 SQL的复杂多表查询以及视图

第1关 查询所有“红色”的15公斤及以上的零件名 任务描述 查询所有“红色”的15公斤及以上的零件名 相关知识 零件表P由零件代码&#xff08;PNO&#xff09;、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成&#xff1b; P表如下图&#xff1a; 现已构建P表&#xff0c;结构信…

【系统分析师之路】第十五章 复盘数据库系统(关系数据库应用)

【系统分析师之路】第十五章 复盘数据库系统&#xff08;关系数据库应用&#xff09; 复盘数据库系统—关系数据库应用 【系统分析师之路】第十五章 复盘数据库系统&#xff08;关系数据库应用&#xff09;前言部分 历年真题考点分析1&#xff09;考点分析2&#xff09;重要知识…