- 博客(34)
- 资源 (73)
- 收藏
- 关注
原创 ResNet
上图,实曲线为维度相等可直接相加;虚线部分维度不相等,需用tf.pad()函数填充通道数(也即深度),需用池化将图像大小与下层大小相等。 下图分别展示了,18/34/50/101/152层ResNet的各层输出维度大小,大括号内为一个残差模块。 以50Layers为例,层数计算每个残差块为三层, 卷积层1层+池化1层+3*3(conv2_x)+4*3(conv3_x)+6...
2018-06-19 11:44:26 371
原创 tensorflow的优化器Optimizer
种类如下,其中Optimizer是基类 tf.train.Optimizer tf.train.GradientDescentOptimizer tf.train.AdadeltaOptimizer tf.train.AdagradOptimizer tf.train.AdagradDAOptimizer tf.train.MomentumOptimi...
2018-06-19 11:31:54 458
原创 tf.equal
tf.equal(A, B)是对比这两个矩阵或者向量的相等的元素,如果是相等的那就返回True,反正返回False,返回的值的矩阵维度和A是一样的import tensorflow as tf import numpy as np A = [[1,3,4,5,6]] B = [[1,3,4,3,2]] with tf.Session() as sess: ...
2018-06-19 11:31:48 172
原创 tf.reduce_mean
tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)作用:沿着张量不同的数轴进行计算平均值。 参数:input_tensor: 被计算的张量,确保为数字类型。 axis: 方向数轴,如果没有指明,默认是所有数轴都减...
2018-06-19 11:31:42 3400
原创 tf.layers.dense
tf.layers.dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zero...
2018-06-19 11:31:35 1689
原创 tesorflow 填充‘same’与‘valid’
源码:#coding=utf-8import tensorflow as tf# case 2input = tf.Variable(tf.random_normal([1, 256, 256, 3]))op1 = tf.layers.conv2d(inputs=input, filters=164, kernel_size=(7, 7), strides=(2, 2),pa...
2018-06-19 11:31:28 391
原创 tf.clip_by_value()
tf.clip_by_value(A, min, max) 输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。 小于min的让它等于min,大于max的元素的值等于max。...
2018-06-19 11:31:19 311
原创 tf.layers.conv2d
tf.layers.conv2d (inputs, filters, kernel_size, strides=(1, 1), padding='valid', data_format='channel...
2018-06-19 11:31:10 6678
原创 pooling池化
pooling,即池化,layers 模块提供了多个池化方法,这几个池化方法都是类似的,包括 tf.layers.max_pooling1d()、tf.layers.max_pooling2d()、tf.layers.max_pooling3d()、tf.layers.average_pooling1d()、tf.layers.average_pooling2d()、tf.layers.avera...
2018-06-12 15:08:34 794
原创 tf.layers.dropout
dropout 是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃, 可以用来防止过拟合,layers 模块中提供了 tf.layers.dropout() 方法来实现这一操作,定义在 tensorflow/python/layers/core.py。下面我们来说明一下它的用法。dropout( inputs, ...
2018-06-12 15:08:24 7845
原创 tf.layers.flatten
flatten( inputs, name=None) 参数说明如下:inputs:必需,即输入数据。 name:可选,默认为 None,即该层的名称。
2018-06-12 15:08:17 6989 10
原创 tf.one_hot
tf.one_hot( indices,#输入,这里是一维的 depth,# one hotdimension. on_value=None,#output 默认1 off_value=None,#output 默认0 axis=None,#根据我的实验,默认为1 dtype=None, name=None) ...
2018-06-12 15:08:11 539
原创 tf.train.Saver
将训练好的模型参数保存起来,以便以后进行验证或测试,这是我们经常要做的事情。tf里面提供模型保存的是tf.train.Saver()模块。模型保存,先要创建一个Saver对象:如saver=tf.train.Saver()在创建这个Saver对象的时候,有一个参数我们经常会用到,就是 max_to_keep 参数,这个是用来设置保存模型的个数,默认为5,即 max_to_keep=5...
2018-06-12 15:08:04 379
原创 tf.transpose
tf.transpose(input, [dimension_1,dimenaion_2,..,dimension_n]) 这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是转置。dimension_n是整数,如果张量是三维,就是用0,1,2来表示。这个列表里的每个数对应相应的维度。如果是[2,1,0],就把输入张量的第三维度和第一维度交换。import ...
2018-06-12 15:07:51 188
原创 VGG
VGG16网络,卷积核3*3,步长为1,填充(padding)为1;池化2*2,步长为2全连接层 卷积核1*1Input Layer:224*224*3图像Conv1-1 Layer:包含64个卷积核,kernal size:3*3*3,stride:1,padding:1 输入图像:224*224*3...
2018-06-12 15:07:45 2338 2
原创 Your CPU supports instructions that this TensorFlow binary was not compiled to use AVX AVX2
大致的原因就是说:tensorflow觉得你电脑cpu还行,支持AVX(Advanced Vector Extensions),运算速度还可以提升,所以可以开启更好更快的模式,但是你现在用的模式相对来说可能不是那么快,所以这个其实并不是存在错误,所以如果不嫌当前的模式慢就忽略掉这个警告就好了。 解决办法为:import osos.environ['TF_CPP_MIN_LOG...
2018-06-12 15:07:37 249
原创 归一化方法列举
归一化方法:除以序列最大值的,叫峰归一化;除以序列之和的,叫面积归一化;除以序列的模,叫数值归一化,得到序列的方差为0,均值为1;(1) 线性函数转换,表达式如下:y=(x-MinValue)/(MaxValue-MinValue)y=a+(x-min)/(max-min)*(b-a)(归一到a-b之间)如a=0.1 ; b=0.9y=0.1+(x-min)/(max-min)*(0.9-0.1)...
2018-06-12 15:07:27 1684
原创 卷积核输出维度计算
1)卷积层:参数:W:宽; H:高;D:深度;K:卷积核的个数; F:卷积核的大小; S:步长; P:用0填充卷积后输出:W或H=[(输入大小-卷积核大小+2*P)/步长] +1. 不能整除时,一般去掉小数部分取整,如4.5,则取4 上图中的 output =[(7-3)+2*1]/1 +1 =7 不能整除时,...
2018-06-12 15:07:19 26745 3
原创 tf.nn.softmax
通过Softmax回归,将logistic的预测二分类的概率的问题推广到了n分类的概率的问题。通过公式 可以看出当月分类的个数变为2时,Softmax回归又退化为logistic回归问题。 下面的几行代码说明一下用法# -*- coding: utf-8 -*-import tensorflow as tfA = [1.0,2.0,3.0,4.0,5.0,6.0]with...
2018-06-06 10:48:34 6624
原创 BGR转RGB
原图: 源代码:#coding=utf-8#OpenCV读进来的图像,通道顺序为BGR, 而matplotlib的顺序为RGB,因此需要转换import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('./test1.jpg')B, G, R ...
2018-06-06 10:48:27 21007 1
原创 gpu版tensorflow测试
测试程序:import tensorflow as tfwith tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=False)) as sess: a = tf.constant(1) b = tf.constant(3) c = a + b ...
2018-06-06 10:48:18 12114 1
原创 AlexNet
AlexNet流程如下: 实现细节:#conv1 (Convolution)kernel size:11 stride:4 pad:0 out_layer:96#lrn#relu#pool1(MAX Pooling)kernel size :3 stride:2 pad:0 #conv2 (Convolution)kernel size:5 s...
2018-06-06 10:48:05 183
原创 GoogLeNet
GoogLeNet Inception 结构的主要思路是怎样用密集成分来近似最优的局部稀疏结构。对上图做以下说明: 1 . 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合; 2 . 之所以卷积核大小采用1、3和5,主要是为了方便对齐。设定卷积步长stride=1之后,只要分别设定pad=0、1、2,那么卷积之后便可以得到相同维度的特征,然后这些特征就可以直接拼接在一起...
2018-06-06 10:47:56 438
原创 LeNet
LeNet-5 ,以用于实现手写识别的7层CNN(不包含输入层)为例,以下为LeNet-5的示意图: Input Layer:1*32*32图像Conv1 Layer:包含6个卷积核,kernal size:5*5,parameters:(5*5+1)*6=156个Subsampling Layer:average pooling,size:2*2 ...
2018-06-06 10:47:44 612
原创 tf.argmax
tf.argmax可以认为就是np.argmax。tensorflow使用numpy实现的这个API简单的说,tf.argmax就是返回最大的那个数值所在的下标。 test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7,2]])np.argmax(test, 0) #输出:array([3, 3, 1]np.argm...
2018-06-06 10:47:36 133
原创 tf.cast
tf.cast(x, dtype, name=None) 将x的类型转换为指定类型import tensorflow as tfimport numpy as npz=np.array([0,1,3,4,6,4,7,1,0])cast = tf.cast(z,tf.float32)with tf.Session()as sess: print(z) print(...
2018-06-06 10:47:18 115
原创 mnist数据集图片提取出来
# -*- coding: UTF-8 -*-# 把mnist数据集转成图片做测试,图片更为通用import cv2import osfrom keras.datasets import mnistimport numpy as npstr_1 = 'mnisttrain'str_2 = 'mnisttest'if os.path.exists(str_1): os...
2018-06-06 10:47:10 3507 4
原创 cifar-10 图像转为jpg
dir_file目录下需有这几个文件 源代码#coding=utf-8import cv2import numpy as npimport os#文件夹名str_2 = './train_cifar10'str_1 = './test_cifar10'#判断文件夹是否存在,不存在的话创建文件夹if os.path.exists(str_1) == ...
2018-06-06 10:46:58 2871
原创 Qt 布局(水平、垂直、网格)
开发一个图形界面应用程序,界面的布局影响到界面的美观。在设计一个界面之前,应该考虑到开发的界面可能给不用的用户使用,而用户的屏幕大小、纵横比例、分辨率可能不同,界面还可能是可缩放的,程序应该可以适应这些变化。 前面的程序中都是使用setGeometry()方法定位控件的位置,这个方法比较笨拙。试想如果控件很多,布局这些控件需要编写大量的代码。幸运的是,QT提供了更好的方法布局控件。...
2018-06-04 09:32:36 2459
原创 Qt数字与字符串之间的相互转换
把QString转换为 double类型方法1.QString str="123.45";double val=str.toDouble(); //val=123.45方法2.很适合科学计数法形式转换bool ok;double d;d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456.把QString转换为float形1....
2018-06-04 09:32:25 11775
原创 Qt显示中文的方法
QT 显示中文的三种方法最近在用Qt做项目,遇到UI不能显示中文的问题,发现有3种方法可以解决,先记录一下方法一QString::fromLocal8Bit("你好中国")· 1方法二QStringLiteral("你好中国")· 1方法三在.cpp中加入#pragmaexecution_character_set("utf-8")· 1然后正常输入中文(...
2018-06-04 09:32:15 6806
原创 setGeometry
setGeometry (9,9, 50, 25) 从屏幕上(9,9)位置开始(即为最左上角的点),显示一个50*25的界面(宽50,高25)如果在控件中加上了layout布局,就会发现发现没有办法使用setGeometry函数了,这是因为布局已经被layout管理,没你啥事了。但是父控件被layout管理,父控件的子控件却没有啊,所以在创建子控件的时候,需要指定子控件的父控件是谁。这样子控件就可...
2018-06-04 09:32:08 29016 3
原创 以OpenCV为例配置VS第三方库
正常情况下,你拿到的别人的第三方动态库(静态库调用方式这里不讲,有另外一篇文章)至少应该包含下面三种文件:1. 头文件,这个一般放在include这样字眼的文件夹下,比如OpenCV的:然后include里面还分成了许多文件夹,便于管理。 2. dll文件,这个一般放在bin这样字眼的文件夹下,比如:3. dll配套的动态lib文件,这个就一般放在lib这样字样的文件夹下,比如:好了,我们要配置就...
2018-06-04 09:31:59 753
原创 cuda安装配置VS2013
1.1 安装cuda首先官网下载安装包,这个就不细说了 ,我下的是这个版本cuda_8.0.61_win10.exe,,注意win7和win10版本要对应,千万别弄错了 之后双击会出现如下截图,解压完以后一直点下一步如下图 出现这个等半个小时左右就好了安装结束后开始配置系统环境变量win10可以这么操作win+s 搜索环境,自动匹配出系统环境变量1.2 配置环境变量打开环境变量后如下图:如图中点击...
2018-06-04 09:31:46 608
CINIC-10.tar.gz
2020-10-29
Office31_3域数据集
2020-10-29
cifar-100-python.zip
2020-10-29
office_caltech_10数据集
2020-10-28
OpenCV编译时下载失败.zip
2019-12-25
机器学习训练秘籍(完整中文版)
2018-11-08
MicroDicom
2018-08-14
FitMe64位或32位
2018-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人