用卷积对心音进行分类的总结1
一:所用的神经网络——cnn
1;心音数据特点:是1维的
2:用到的卷积,池化层等也是1d 的(用法和2d的差不多,只是输入是3D的[batch,n_w,n_c],相对于2d少了高度n_h):如下:tf.nn.conv1d(),tf.layers.max_pooling1d()
input_tmp=input_data
###第一层卷积
conv1=tf.nn.conv1d(input_tmp,parameters["FW1"],stride=1,padding="VALID")
Z1=tf.nn.bias_add(conv1,parameters["b1"])
A1=tf.nn.relu(Z1)
P1= tf.layers.max_pooling1d(A1,pool_size=[2],strides=[2],padding="valid")
###第二层卷积
conv2=tf.nn.conv1d(P1,parameters["FW2"],stride=1,padding="VALID")
Z2=tf.nn.bias_add(conv2,parameters["b2"])
A2=tf.nn.relu(Z2)
P2=tf.layers.max_pooling1d(A2,pool_size=[2],strides=[2],padding="valid")
#flatten
P2=tf.contrib.layers.flatten(P2)
###fully_connected
fc1=tf.contrib.layers.fully_connected(P2,20)
output=tf.contrib.layers.fully_connected(fc1,1)
2:初始变量。(采用了单独定义)
def weight_initializer(weight_sizes=[[5,8],[5,4]]): ###语音 1维, 通道数也为 :1 -->>[1,5,1,8] 和[1,5,1,4]
parameters={}
length=len(weight_sizes)
for i,weight_size in enumerate(weight_sizes):
if i==0:
parameters["FW"+str((i+1)+10)]=tf.get_variable("FW"+str((i+1)+10),[weight_size[0],1,weight_size[1]],
initializer=tf.truncated_normal_initializer(stddev=0.1))
parameters["b"+str((i+1)+10)]=tf.get_variable("b"+str((i+1)+10),
[weight_size[1]],initializer=tf.constant_initializer(0.1))
else:
parameters["FW"+str((i+1)+10)]=tf.get_variable("FW"+str((i+1)+10),[weight_size[0],weight_sizes[i-1][1],weight_size[1]], initializer=tf.truncated_normal_initializer(stddev=0.1)) ##权重和上一个通道匹配
parameters["b"+str((i+1)+10)]=tf.get_variable("b"+str((i+1)+10),
[weight_size[1]],initializer=tf.constant_initializer(0.1))
return parameters
二:遇到的问题及解决办法:
1. Incompatible shapes: [160,1] vs. [2,1]
[[Node: sub = Sub[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](Reshape_2, Reshape_3)]] ### 拉直时,拉错了方向,导致维度匹配不上,重新tf.reshape()
2.ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`. ppp2.shape: (10, ?)
这种情况是由于 tf.reshape ()时,设定大小时存在张量,而不是确切的常数: 如:tf.reshape (x,[-1,y.shape[0]]) ,有时因 y.shape[0],导致识别不了,这种情况,只需中途找个变量(转化为 int )过渡一下(v =int(y.shape[0])),然后再 tf.reshape (x,[-1,v]) 就可以了
3.TypeError: unsupported operand type(s) for +: 'int' and 'Dimension'
如:tmp03=1+ppp[0].shape[1] 解决办法:将两者交换顺序即可:即 tmp03=ppp[0].shape[1] +1 (其他的运算操作也一样)
用卷积对心音进行分类的总结1相关推荐
- No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
这是一个入门机器学习和深度学习的小项目,以fashion-mnist数据为基础.分别利用机器学习(随机森林)和深度学习(多层感知机/卷积神经网络)方法进行训练.完整的包含数据读取,数据处理,训练, 验 ...
- 深度学习之 FPN (Feature Pyramid Networks)
论文题目:Feature Pyramid Networks for Object Detection 论文链接:https://arxiv.org/abs/1612.03144 论文代码:Caffe版 ...
- 从R-CNN到Faster R-CNN漫谈
本文相当长......... object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.object detection要解决的问题就是物体在哪里,是什么这整个流程 ...
- 聚类生成anchor框的尺寸和比例
前言: anchor是锚的意思,就是固定船的大铁块儿.在目标检测中,anchor box意为预设固定尺寸的参考框.目标检测要解决的问题是图像中哪个位置有什么样的物体,传统算法的解决方法是采用滑窗的方式 ...
- 【论文笔记】AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions
目录 摘要 1 介绍 2 相关工作 3 数据收集 3.1 动作词汇生成 3.2 电影和片段选择 3.3 人的bounding box标注 3.4 人的链接标注 3.5 行为标注 3.6 训练.验证和测 ...
- PointNet 中文翻译
Deep Learning on Point Sets for 3D Classification and Segmentation https://github.com/charlesq34/poi ...
- 基于Python实现的孤立词语音识别系统
1 任务介绍 语音识别是通往真正的人工智能的不可缺少的技术.尽管能真正听懂人类说话的智能机器任然在未来不可捉摸的迷雾之中,但我们必须先解决如何识别出人类语音中包含的自然语言信息的问题.而数字信号处理技 ...
- 基于Python的语音识别系统(孤立词)
目录 1 任务介绍 1 2 项目实现 1 2.1 预处理 2 2.2 特征提取 3 2.2.1 归一化 3 2.2.2 预加重 3 2.2.3 分帧 3 2.3 加窗 4 2.3.1 端点检测 6 2 ...
- FPN:feature pyramid networks for object detection
论文:feature pyramid networks for object detection 论文链接 论文概述: 作者提出的多尺度的object detection算法:FPN(feature ...
最新文章
- 分析USB平台设备模型框架(1)
- decimal 类型数据怎么引用_Java基本数据类型和引用类型
- 比较Java 8中的命令式和功能性算法
- Android中让Service被关闭后再重新启动
- 九、华为鸿蒙HarmonyOS应用开发之Java UI框架、常用Image组件使用
- ios apple语音性别_如何使用Apple的CoreML和Vision API构建图像识别iOS应用
- java ee面试题专家总结(必看),Java EE面试题专家总结(必看)
- Python风格总结:判断元素是否在列表中存在
- [转载] 机器学习之主成分分析PCA(Python实现)
- Java中IDEA,Springboot实现手机获取验证码和倒计时
- SQL Server 2012笔记分享-28:使用日志文件查看器
- String、Object、包装类的常用方法以及注意点
- Java 反射Reflection总结二
- 小腹下面是什么部位_产后新妈妈去掉大肚腩,恢复平坦小腹,不妨试试这4个动作...
- 主题:免费的论文查重网站 正文:给大家推荐一个免费的论文查重网站PaperPP:http://www.paperpp.com
- X79寨板远程启动计算机,X79旗舰主板评测
- 快速达成目标的12种方
- python3d动图_如何在Python上制作3D图形的动画
- c语言将一个字符输出三遍,C语言字符相关部分内容小结
- [poj3130][半平面交]How I Mathematician Wonder What You Are!
热门文章
- Java的SHA1PRING方式AES加密对应的PHP写法
- Flume四:多路复用(ChannelSelector之Multiplexing)+自定义拦截器
- 项目上线 - 流程篇
- pytorch torch.Storage学习
- 监控网络状态的好工具- Smokeping
- ansible 软件相关模块,剧本
- equals方法和hashCode方法之间的那些事(1.1)
- 关于使用eclipse写JS代码没有提示的解决方法
- python怎么批量爬取图片_Python制作批量爬取网络图片的方法
- 从苏宁电器到卡巴斯基第09篇:来到苏宁之前的过渡