RNN 循环神经网络简介
RNNRNN的主要用来处理序列数据。 在传统的神经网络模型中,是从输入层到隐含层再到输出层, 层与层之间是全连接的,每层之间的节点是无连接的。但是 这种普通的神经网络对于很多问题却无能无力。例如,你要 预测句子的下一个单词是什么,一般需要用到前面的单词, 因为一个句子中前后单词并不是独立的。 RNN之所以称为循环神经网路,即一个序列当前的输出与前 面的输出也有关。 具体的表现形式为网络会对前面的信息进行记忆并应用于当 前输出的计算中,即隐藏层之间的节点不再无连接而是有连 接的,并且隐藏层的输入不仅包括输入层的输出还包括上一 时刻隐藏层的输出。 RNN图示 LSTM 网络Long Short Term 网络—— 一般就叫做 LSTM —— 是一种 RNN 特殊的类型,可以学习长期依赖信息。 在很多问题,LSTM 都取得相当巨大的成功,并得到 了广泛的使用,它是RNN事实上的标准。 LSTM 的窍门在于拥有一个固定权值为1的自连接,以及一个 线性激活函数,因此其局部偏导是中为1。 这样的话,误差就能在时间步中传递,而不会消失或爆炸。 LSTM 通过门对通过的信息进行控制:门是一种让信...
ROI 感兴趣区域的截取
image[Y起点:Y终点,X起点:X终点] 1234567891011import cv2import numpy as npfrom matplotlib import pyplot as pltimport matplotlibimg = cv2.imread("a28.png")rows,cols,chn = img.shapeprint(rows,cols,chn)img1 = img[100:500,200:600]cv2.imshow("img1",img1)cv2.waitKey(0)cv2.destroyAllWindows()
ResNet残差模块
import tensorflow as tf 定义ResNetBlock1234567891011121314151617181920212223class ResNetBlock(tf.keras.layers.Layer): def __init__(self,units): super(ResNetBlock,self).__init__() self.conv1 = tf.keras.layers.Conv2D(units, kernel_size=3, padding='same', use_bias=False) self.bn1 = tf.keras.layers.BatchNormalization()#批标准化 s...
SQL 常用函数
–字符串函数concat(S1,S2,…,Sn) 字符串拼接成一个字符串lower(str) 将字符串全部转为小写upper(str) 将字符串全部转为大写lpad(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符长度rpad(str,n,pad) 右填充,用字符串pad对str的左边进行填充,达到n个字符长度trim(str) 去掉字符串头部和尾部空格substring(str,start,len)返回从字符串str从start位置起的len个长度 –数值函数ceil(x) 向上取整(大于)floor(x) 向下取证(小于)mod(x,y) 返回x/y的模rand() 返回0~1的随机数(小数)round(x,y) 求参数x的四舍五入的值,保留y位小数 –日期函数curdate() 返回当前日期curtime() 返回当前时间now() 返回当前...
SQL 约束
约束:(约束是作用在字段上的,可以在创建表/修改表时添加或修改) 概念->作用于表中字段上的规则,用于限制存储在表中的数据 目的->保证数据库中数据的正确、有效性和完整性 not null 非空约束 限制该字段不能为NULLunique 唯一约束 保证该字段的所有数据都是唯一、不重复的primary key 主键约束 主键是一行数据的唯一标识、要求非空唯一default 默认约束 保存数据是,如果未指定该字段的值,则采用默认值check 检查约束 保证字段值满足某一个条件foreign key 外键约束 用来让两张表的数据之间建立连接,保证数据的一致性和完整性auto_increment 自动增长 –外键约束 用来让两张表的数据之间连接,从而保证数据的一致性和完整性–添加外键create table 表名( 字段名 数据类型, …… [constraint] [外键名称] foreign key (外键...
Scharr 算子与 Laplacian 算子
概念Scharr: 当内核大小为3时, 以上Sobel内核可能产生比较明显的误差(毕竟,Sobel算子只是求取了导数的近似值)。 为解决这一问题,OpenCV提供了 Scharr 函数,但该函数仅作用于大小为3的内核。该函数的运算与Sobel函数一样快,但结果却更加精确,不怕干扰,其内核为: 拉普拉斯算子(Laplacian):拉普拉斯算子是图像邻域内像素灰度差分计算的基础,通过二阶微分推导出的一种图像邻域增强算法。它的基本思想是当邻域的中心像素灰度低于它所在邻域内的其他像素的平均灰度时,此中心像素的灰度应该进一步降低;当高于时进一步提高中心像素的灰度,从而实现图像锐化处理。在算法实现过程中,通过对邻域中心像素的四方向或八方向求梯度,并将梯度和相加来判断中心像素灰度与邻域内其他像素灰度的关系,并用梯度运算的结果对像素灰度进行调整。一个连续的二元函数f(x,y),其拉普拉斯运算定义为: 对于数字图像,拉普拉斯算子可以简化为: 也可以按卷积形式表示: 其中K=1,I=1时H(r,s)取下式,四方面模板: 通过模板可以发现,当邻域内像素灰度相同时,模板的卷积运算...
Shell 脚本编程快速入门
Shell 是什么?Shell 是一个命令解释权,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。 Shell 编程快速入门进入 Linux 终端,编写一个 Shell 脚本 hello.sh : 12#!/bin/bash echo 'hello world!' 运行: 123456# 方法1 sh hello.sh # 方法2 chmod +x hello.sh ./hello.sh 终端打印出 hello world! 。说明: #! 告诉系统这个脚本需要什么解释器来执行。 文件扩展名 .sh 不是强制要求的。 方法1 直接运行解释器,hello.sh 作为 Shell 解释器的参数。此时 Shell 脚本就不需要指定解释器信息,第一行可以去掉。 方法2 hello.sh 作为可执行程序运行,Shell 脚本第一行一定要指定解释器。 Shell 变量定义Shell 变量分为系统变量和自定义变量。系统变量有$HOME、$PWD、$USER等,显示当前 S...
Sobel 算子
Sobel算子:是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度,梯度越大越有可能是边缘。 Soble算子的功能集合了高斯平滑和微分求导,又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到的是图像在X方法与Y方向梯度图像。 缺点:比较敏感,容易受影响,要通过高斯模糊(平滑)来降噪。 算子是通过权重不同来扩大差异。 梯度计算:(在两个方向求导,假设被作用图像为 I) 水平变化: 将 I 与一个奇数大小的内核 Gx进行卷积。比如,当内核大小为3时, Gx的计算结果为: 垂直变化: 将:math:I 与一个奇数大小的内核 Gy进行卷积。比如,当内核大小为3时, Gy的计算结果为: 在图像的每一点,结合以上两个结果求出近似梯度: 有时也用下面更简单公式代替,计算速度快:(最终图像梯度)。 代码123456789101112131415161718192021222324252627282930313233import cv2import numpy as np#dest = cv2.Sobel(src,...
Softmax多分类
import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline 加载fashion_mnist数据集1(train_image,train_label),(test_image,test_label) = tf.keras.datasets.fashion_mnist.load_data() 归一化123#归一化处理,从0~1train_image = train_image /255test_image = test_image /255 模型建立1234model = tf.keras.Sequential()model.add(tf.keras.layers.Flatten(input_shape=(28,28)))#28*28的图片大小model.add(tf.keras.layers.Dense(128,activation='relu'))model.add(tf.keras.layers.Dense(10,activation...
TensorBoard 可视化
Tensorboard的导入 1234567891011import oslog_dir = os.path.join('logs',datetime.datetime.now().strftime("%Y%m%d-%H%M%S")) tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir,histogram_freq=1)#histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率(训练轮数中)。 如果设置成 0 ,直方图不会被计算。对于直方图可视化的验证数据(或分离数据)一定要明确的指出。model.fit(dataset, epochs=5, steps_per_epoch=60000//128, validation_data=test_dataset, validation_steps=10000//128, callbacks=[tensorboa...






