首页 > 其他 > 详细

14 深度学习-卷积

时间:2020-06-02 11:03:22      阅读:49      评论:0      收藏:0      [点我收藏+]

1.简述人工智能、机器学习和深度学习三者的联系与区别。

人工智能是计算机科学的一个分支,它企图了解智能的本质。

机器学习属于人工智能的一个分支,也是人工智能的和核心。

深度学习是利用深度神经网络来解决特征表达的一种学习过程。

 

2. 全连接神经网络与卷积神经网络的联系与区别。

在全连接神经网络中,每两层之间的节点都有边相连。

卷积神经网络也是通过一层一层的节点组织起来的,对于卷积神经网络,相邻两层之间只有部分节点相连。

在卷积神经网络的前几层中,每一层的节点都被组织成一个三维矩阵。前几层中每一个节点只和上一层中部分节点相连。

 

3.理解卷积计算。

以digit0为例,进行手工演算。

 技术分享图片

 

 

 

 

from sklearn.datasets import load_digits #小数据集8*8

digits = load_digits()

 

4.理解卷积如何提取图像特征。

读取一个图像;

以下矩阵为卷积核进行卷积操作;

显示卷积之后的图像,观察提取到什么特征。

 

1 0 -1
1 0 -1
1 0 -1

 

1 1 1
0 0 0
-1 -1 -1

 

-1 -1 -1
-1 8 -1
-1 -1 -1

 

 

卷积API

scipy.signal.convolve2d

tf.keras.layers.Conv2D

原图片:

技术分享图片

 

图片:

技术分享图片

 

图片1:

技术分享图片

 

图片2:

技术分享图片

 

图片3:

技术分享图片

 

 

from PIL import Image
from scipy.signal import convolve2d
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl

# 指定字体,解决plot不能显示中文的问题
mpl.rcParams[font.sans-serif] = [SimHei]

# 读取一张图片
image = Image.open(r"D:/STUDY/机器学习/juanji.jpg")
p = image.convert("L")

k = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])
k1 = np.array([[1, 0, -1], [1, 0, -1], [1, 0, -1]])  # 垂直边缘
k2 = np.array([[1, 1, 1], [0, 0, 0], [-1, -1, -1]])  # 水平边缘
k3 = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]])

pg0 = convolve2d(p, k, boundary=symm, mode=same)
pg1 = convolve2d(p, k1, boundary=symm, mode=same)
pg2 = convolve2d(p, k2, boundary=symm, mode=same)
pg3 = convolve2d(p, k3, boundary=symm, mode=same)

plt.imshow(p)
plt.title("原图片")
plt.show()  # 显示图片
plt.imshow(pg0)
plt.title("图片")
plt.show()
plt.imshow(pg1)
plt.title("图片1")
plt.show()
plt.imshow(pg2)
plt.title("图片2")
plt.show()
plt.imshow(pg3)
plt.title("图片3")
plt.show()

 

 

5. 安装Tensorflow,keras

14 深度学习-卷积

原文:https://www.cnblogs.com/ccw1124486193/p/13024298.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!