- 博客(113)
- 收藏
- 关注
原创 我的书签
tensorflow解决Tensorflow 使用时cpu编译不支持警告 – 2019.05.04交叉熵一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉 --2019.05.03
2019-05-08 07:33:58 204
原创 学习笔记 - 编程学习
记录有关如何学习编程的思考编程是门实践学科,与纯理论学科的学习应该有很不一样的地方入门一门编程语言1.知道这门语言的应用场景(建立感性认识)python在科学计算,人工智能领域表现很不错c/c++适合硬件/底层等开发java适合大型web后台等等2.最基本的语法学习基本数据类型顺序分支循环结构常用数据结构,容器及它们的操作常用库,API(根据经验)总结就是面...
2019-04-29 14:19:30 309
原创 笔记 :归纳总结 (一)
资料决策边界(decision boundary)logistic回归,以及决策边界与回归的区别吴恩达机器学习笔记16-决策边界(decision boundary)机器学习中线性模型和非线性的区别机器学习中线性模型和非线性的区别怎样区分线性和非线性线性模型线性分类器和非线性分类器机器学习之广义线性模型广义线性模型到底是个什么鬼?| 协和八逻辑回归(logistics re...
2019-08-21 09:18:37 1192
原创 笔记 - 归纳总结(二)
机器学习算法K近邻算法原理每个样本都能用最接近它的k个邻居代表流程计算目标与所有样本之间的距离,选出距离最小的前K个样本,K个样本中占比最高的类别即为目标类别KNN三要素K值的选取距离度量方式分类决策规则K值选取方式交叉验证K值对模型结果的影响较小的K值,减少训练误差,但容易过拟合较大的K值,减少泛化误差,但训练误差会上升分类决策规则...
2019-08-21 08:58:28 264
原创 笔记 - tensorflow中 Variable 与 get_variable 的用法
莫烦 scope 命名方法我们为什么要对变量命名举个例子:在迁移学习中我们是通过变量名加载相应的值# restore variables# redefine the same shape and same type for your variablesW = tf.Variable(np.arange(6).reshape((2, 3)), dtype=tf.float32, n...
2019-08-07 12:52:20 541
原创 笔记 - 卷积神经网络设计 理论部分(一)
思考1. 卷积神经网络如何减少参数量和计算量relu激活函数dropout使用1×1卷积核进行减少参数量和计算量对标准卷积的拆分(使用深度可分离卷积)2. 各类经典卷积网络的特点3. 卷积计算量的计算4. 注意区分1x1 PW conv 和 1x1 GConv 经典卷积网络LetNet通常 简单的分类网络结构:输入 - 卷积池化(层数未定) - 全连接(层数...
2019-07-17 15:52:40 439
原创 笔记 - 概率论:随机变量与独立同分布
参考文章总体与样本的理解从整体抽出一个个体,就是对总体X进行一次观察并记录结果。在相同条件下对总体进行n次独立重复观察。将n次观察结果按照试验顺序记为X1,X2,..,XnX1,X2,..,Xn。它们是相互独立的,且都是与X具有相同分布的随机变量。X1,X2,..,XnX1,X2,..,Xn称之为来自总体X的一个简单随机样本随机变量随机变量是指变量的值无法预先确定仅以一定的可能性(...
2019-07-09 14:38:44 8251
原创 笔记 - 数据结构与算法:单向链表
要实现两个部分:结点对象链表对象假设需求:节点实现要存储数据要存储下一个节点位置class Node(): def __init__(self, item): self.item = item self.next = None单链表实现class SingleLinkList(): def __init__(self): self._head = No...
2019-07-01 11:25:30 183
原创 笔记 - 数据结构与算法:顺序表
所以动态结构指的是能在表对象不改变的前提下对数据存储区域进行扩容的结构扩充的方式还有很多eg:每次增加当前容量的一半增加当前容量的3/4......
2019-07-01 10:00:00 194
原创 笔记 - 数据结构与算法:【算法的引入】如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?
算法优化带来效率的提高
2019-07-01 09:40:51 736
原创 笔记 - 数据结构与算法:Python列表不同操作的时间效率
list添加元素注:把 test 统一改成 tfrom timeit import Timer单纯的生成list,还是list(range())最快list相加的另外一种方式extend和[1]+[2] 即两个列表直接相加要慢但好像extend消耗空间少insert 与 append...
2019-07-01 09:15:05 192
原创 笔记 - 数据读取:TFRecords 内部多线程读取文件 (二)
对整个流程梳理具体分析在上篇笔记 - 数据读取:TFRecords 内部多线程读取文件 (一)正文...filename_queue = tf.train.string_input_producer(filenames)reader = tf.FixedLengthRecordReader(record_bytes=3073)key, value = reader.read...
2019-06-20 12:21:47 200
原创 笔记 - 数据读取:TFRecords 内部多线程读取文件 (一)
资料:Tensorflow高效读取数据tensorflow的数据输入TensorFlow和Keras解决大数据量内存溢出问题tensorflow的数据输入 - 屌都不会TensorFlow高效读取数据的方法Tensorflow TFRecords及多线程训练介绍 ——详细Google Protocol Buffer 的使用和原理《21个项目玩转深度学习:基于TensorFlow的实...
2019-06-20 10:02:52 554
原创 笔记 - 视觉硬件:内存条
资料:内存条-用最真实的视角带你了解内存条正文目录:频率时序频率cpu对内存访问的频率 简称内存的频率默认最高为2400MHZ,某些高频内存条,频率可达3600MHZ什么影响内存的频率内存颗粒的体质增加计算机访问内存速度的方法:换高频内存条+内存超频组双通道内存不是所有主板都只支持高频内存条Intel系列只有Z系与X系支持高频内存条B系与...
2019-06-19 11:30:52 229
原创 笔记 - 卷积网络:全连接 卷积核 池化核
总结:全连接侧重 特征的精确位置卷积层侧重 特征的相对位置思考:每次训练都能学到一样的局部特征吗,为什么卷积核一个卷积核,就是一个局部特征所以卷积层的输出会更少地依赖特征的精确位置(相比全连接层)为什么这么说:因为全连接层的权重和位置有着紧密的关联但卷积层的权重和特征本身紧密关联优点:计算量少,泛化能力高理解内在逻辑池化核一个过滤器作用:让特征...
2019-06-13 11:00:00 2705
原创 笔记 - 卷积网络:1×1卷积核
首先是卷积核的作用1.比全连接参数少很多的特征提取器2.数据通道增加或减少1x1卷积核与其他大小卷积核的不同用最少的参数实现数据通道地增加或减少减少数据通道的作用:减少接下来的计算量,减少参数other观点增加非线性相当于一个全连接网络我觉得不太像资料深度学习——1×1卷积核理解全 中文字幕 - 深度学习_吴恩达_DeepLearning.ai...
2019-06-13 09:46:44 310
原创 笔记 - 模型评估:K折交叉验证
一种数据利用率较高的模型训练评估方法模型训练评估模型超参的选择实现流程不唯一,主要体现在对数据的利用率上现在对模型进行训练,评估采用10折交叉验证方法,需要对模型训练10次,测试10次,计算10次相关指标将数据集切分成10份数据集,第一次保留第一份数据集为测试集,剩下的数据用来训练模型第二次保留第二份数据集为测试集,剩下的数据用来训练模型...资料:机器学习之模型选...
2019-06-12 16:58:19 1121
原创 笔记 - 深度学习脉络整理:2.损失函数
脉络结构1. 结构2. 损失3. 优化思考:为什么使用softmaxsoftmax存在的问题交叉熵损失的含义题外话:清楚原理之后,可以对它进行改进使用 softmax 的时候,有一个默认的前提,就是每个物体只属于一类比如人脸识别,每张脸只能对应一个人思考:sigmod二分类的Loss,与softmax多分类的Loss 的区别sigmod 与...
2019-06-12 13:50:29 184
原创 笔记 - 深度学习脉络整理:1.基础结构单元
资料:深度学习基础课程深度学习大讲堂 - 首期第三讲:深度学习基础概括图基础结构单元所有op得知道是什么意思全连接层的op卷积层的op…激活函数为什么说激活函数是神经网络非线性性的来源激活函数的取值范围激活函数的导数损失函数调整网络:调网络结构调损失函数损失函数的物理意义损失函数的导数网络训练误差反向传播算法如何做参数...
2019-06-12 11:29:07 687
原创 笔记 - 算法与数据结构:链表交换相邻元素
class LNode(): def __init__(self, data=None): self.x = data self.next = Nonedef swapPairs(head): pre = head while pre.next and pre.next.next: a = pre.next ...
2019-06-11 21:46:52 250
原创 笔记 - 算法与数据结构:反转链表
class LNode: def __init__(self, x=None): self.x = x self.next = Nonedef Reverse(first): cur, pre = first, None while cur: cur.next, pre, cur = pre, cur, cur.next...
2019-06-11 19:11:22 148
原创 笔记 - 卷积网络:卷积输出张量shape计算
前置:影响shape形状的因素:1.卷积核大小2.stride步长3.padding模式公式:K – 卷积核数量F – 卷积核大小S – 步长P – 外围填充的层数运用显然valid模式下,直接卷,不够就丢弃我推导的valid模式下的计算方式(以 W 举例):W2 = (W1 - F)/S + 1SAME模式如何确定P利用公式1计算...
2019-06-11 16:13:07 4316
原创 笔记 - 模型训练:正则Loss
前置add_to_collectionimport tensorflow as tftf.add_to_collection("reg_losses", 1.0)tf.add_to_collection("reg_losses", 1.0)loss = tf.get_collection("reg_losses")with tf.Session() as sess: pr...
2019-06-11 14:55:58 1047
原创 笔记 - DNN: 构建网络 与 添加正则化项的不同方式
前置fully_conecteddef fully_connected(inputs, num_outputs, activation_fn=nn.relu, normalizer_fn=None, normalizer_param...
2019-06-11 13:02:17 515
原创 笔记 - 模型训练:保存读取使用模型
保存模型# 创建Saver()节点saver = tf.train.Saver()# 训练过程中保存节点save_path = saver.save(sess, "./ckpt/my_model.ckpt", global_step=epoch)# 保存最终节点save_path = saver.save(sess, "./ckpt/my_model_final.ckpt")读...
2019-06-11 10:57:48 469
原创 笔记 - 模型训练:监控
打印 训练loss与测试loss print("Epoch", epoch, "MSE = ", sess.run(mse, feed_dict={ X: X_train, y: y_train })) print("Epoch", epoch, "MSE = ", sess.run(mse, feed_di...
2019-06-11 10:22:01 308
原创 笔记 - 数据读取:tensorflow mnist手写数据
加载数据集from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("../data/MNIST_data/", one_hot=True)print(mnist.train.images.shape)读取数据集 batch_xs, batch_ys = my...
2019-06-11 10:01:10 160
原创 笔记 - 模型评估:准确率评估
laebl one-hot编码的准确率计算import tensorflow as tfy = tf.constant([[0, 0, 1], [1, 0, 0]], dtype=tf.float32)y_pred = tf.random_uniform(shape=(2, 3))accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.a...
2019-06-11 09:33:27 892
原创 笔记 - 模型训练:小批量梯度下降与小批量随机梯度下降
小批量梯度下降 n_batch = int(len(X_train) / batch_size) for epoch in range(n_epochs): for i in range(n_batch): sess.run(training_op, feed_dict={ X: X_train[i*batc...
2019-06-10 20:52:46 472
原创 笔记 - 梯度下降:基于tensorflow的三种实现
以线性回归为例原生实现...theta = tf.Variable(tf.random_uniform([n + 1, 1], -1.0, 1.0), name='theta')y_pred = tf.matmul(X, theta, name="predictions")error = y_pred - yrmse = tf.sqrt(tf.reduce_mean(tf.sq...
2019-06-10 20:30:05 327
原创 笔记 - 线性回归:tensorflow原生实现线性回归梯度下降参数更新过程
手动实现线性回归梯度计算公式"""X:m×n矩阵 -- m行样本n个维度error: 列向量"""gradients = 1/m * tf.matmul(tf.transpose(X), error)基于sklearn fetch_california_housing 数据集import tensorflow as tfimport numpy as npfrom sk...
2019-06-10 20:12:07 1727
原创 笔记 - 数据处理:标准归一化
做了啥均值归一化方差归一化作用可以更快的进行梯度下降下降更平稳为啥归一化操作能加速梯度下降一般来说,梯度大的维度更新参数快特征数值会影响梯度的大小eg:特征数值很大,代入梯度计算后得出的结果也可能很大当不同特征的数值相差较大,如年龄(0~100)与 月薪(500~50000)会导致不同维度下降的速度有很大的区别,甚至造成振荡现象应用"""对每一列进行标准归...
2019-06-10 19:38:56 185
原创 笔记 - tensorflow:sess.run机制
import tensorflow as tfdef read_data(): print("read data ...") return tf.constant(value=[1.0, 2.0, 3.0], dtype=tf.float32)X = read_data()X_train = tf.placeholder(dtype=tf.float32)with tf...
2019-06-10 14:25:15 768
原创 笔记 - 数据读取:cifar10多线程读取2
总结:1.images_train, labels_train = cifar10_input.distorted_inputs( data_dir=data_dir, batch_size=batch_size)并不是真的读取数据,而是定义了一系列逻辑操作,返回tensor * tensor里面那些读文件的操作,如何做到在sess.run的时候才真正执行2.for ste...
2019-06-10 14:08:57 153
原创 笔记 - 数据读取:cifar10多线程读取1
理论数据增强1张图片变7张图片cifar10.py主要负责cifar10数据集下载定义几个参数batch_size下载数据集存放的地址用什么类型的格式存放模型参数w存储变量数据的一个对象使用eg:cifar10_input.py主要负责数据读取处理IMAGE_SIZE = 24 , 实质就是将cifar10图片原始大小...
2019-06-10 13:14:13 147
原创 笔记 - 神经网络算法设计:一.数据预处理
零中心化(均值减法)就是减均值嘛【老师说:】 对于图像数据,零中心化操作很重要,因为图像受光照影响一般表现就是整体像素偏大或者偏小【我的理解:】整体像素偏大的理解是图片比较昏暗,所以减去均值,整体像素如果偏小,应该是偏亮,这时候还需要减去均值 ???归一化上图的操作与 均值归一化,方差归一化,标准归一化 的关系 ?...
2019-06-07 17:21:10 956
原创 笔记 - python:StringIO / BytesIO
参考:廖雪峰python的StringIO模块python的StringIO模块本质上就是在内存里操作字符串或者字节嘛,只不过看起来像在操作文件StringIO"""read()等类似文件的接口,使用的时候和文件很像,==光标== 也会移动而且只能读取初始化时加载的数据,不能读取后面 write 的数据"""from io import StringIOf1 = St...
2019-06-07 11:16:00 169
原创 笔记 - python:__future__
它在干啥引入python新版本语法特性比如在python2.7的代码中引入python3.6版本的某些语法作用较平稳地实现项目python版本升级eg:如果冒然直接把项目的python版本从2.7升级到3.6,可能会同时出现一大堆错误,影响心情如何使用如果你想在Python 2.7的代码中直接使用Python 3.x的除法,可以通过__future__模块的div...
2019-06-07 10:40:18 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人