dl tensorflow
文章平均质量分 72
bitcarmanlee
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
tensorflow stack unstack操作
1.stack操作先看一下tensorflow中stack方法的函数签名@tf_export("stack")@dispatch.add_dispatch_supportdef stack(values, axis=0, name="stack"): """Stacks a list of rank-`R` tensors into one rank-`(R+1)` tensor. See also `tf.concat`, `tf.tile`, `tf.repeat`. Packs原创 2022-03-24 17:42:18 · 2488 阅读 · 0 评论 -
tfrecord原理详解 手把手教生成tfrecord文件与解析tfrecord文件
1.什么是tfrecordTFRecord 是Google官方推荐的一种数据格式,是Google专门为TensorFlow设计的一种数据格式。TFRecord本质上是二进制文件,目的是更好的利用内存。用户可以将训练集/测试集打包成生成TFRecord文件,后续就可以配合TF中相关的API实现数据的加载,处理,训练等一系列工作,可以方便高效的训练与评估模型。2.tfrecord原理TFRecord 并非是TensorFlow唯一支持的数据格式,你也可以使用CSV或文本等格式,但是对于TensorFlo原创 2022-03-18 19:09:05 · 9707 阅读 · 0 评论 -
tensorflow中prefetch最合适的用法
tensorflow中有prefetch方法,从方法名可以看出,这个操作是跟数据预读取,提升IO性能有关。那什么时候使用prefetch方法呢?正好在stackoverflow上看到这样一个类似的问题:What is the proper use of Tensorflow dataset prefetch and cache options?下面有这样一段回答:"When the GPU is working on forward / backward propagation on the cur原创 2022-03-18 10:04:25 · 7575 阅读 · 8 评论 -
encoder, decoder, attention机制理解
1.encoder-decoder在提attention之前,我们先回顾一下encoder-decoder机制。encoder-decoder在NLP领域的使用会比较广泛,按照我个人的理解,encoder-decoder本质上是一种思维方式,一种框架。encoder环节,将现实输入环节进行抽象编码转化为一个数学问题。decoder环节,则是求解该数学问题,并转化为现实世界的答案。而输入环节输入的不同,则代表了不同的应用场景。如果输入是中文句子,输出是英文翻译,则是典型的机器翻译问题,encoder-原创 2021-12-02 18:41:47 · 9591 阅读 · 1 评论 -
LSTM VS RNN改进
1.rnn常见的图形表示rnn是一种早期相对比较简单的循环神经网络,其结构图可以用如下表示。图片来自网络。其中,x,y,h分别表示神经元的输入,输出以及隐藏状态。根据上面的图片不难看出,在时刻t,神经元的输入包括xtx_txt与上一时刻的隐藏状态ht−1h_{t-1}ht−1,而输出包括当前时刻的隐藏状态hth_tht与当前时刻的输出yty_tyt。RNN的输入xtx_txt只包含了t时刻的信息,而不包含顺序信息。而hth_tht则包含了历史信息与当前输入信息,所以RNN是能用到历史原创 2021-09-22 16:27:40 · 2476 阅读 · 0 评论 -
numpy广播机制小结
1.Broadcast(广播)机制numpy中的广播很常见,其用法是针对不同的shape的ndarray进行对应的数值计算的时候,将较小的ndarray广播变成更大的ndarray进行对应的shape匹配,从而使两个看起来shape不匹配的数组能进行相应的数值运算。2.广播的规则1.All input arrays with ndim smaller than the input array of largest ndim, have 1’s prepended to their shapes.2.原创 2020-09-13 20:59:03 · 538 阅读 · 0 评论 -
tensorflow手动实现算法之三逻辑回归
1.逻辑回归算法逻辑回归是日常工作中最常用的算法之一。虽然逻辑回归很简单,出现的年代也比较久远,但是实现简单,可解释性强,一般效果也不会太差,尤其在处理海量数据集的时候具有性能上的巨大优势,因此逻辑回归一般会被用作线上算法的baseline版本之一。之前逻辑回归系列文章为什么要使用logistic函数损失函数(cost function)详解梯度下降训练方法2.tensorflow实现...原创 2020-04-29 16:34:54 · 799 阅读 · 0 评论 -
numpy与tensorflow中的广播(broadcast)机制
1.numpy中的广播广播(broadcast)是numpy中经常使用的一个技能点,他能够对不同形状的数组进行各种方式的计算。举个简单的例子:a = np.array([1, 2, 3])b = np.array([4, 5, 6])c = a + b此时c的结果为[5, 7, 9]。一般情况下要进行a+b的操作,需要a.shape=b.shape。比如上面的例子中,a、b的shap...原创 2020-04-29 15:06:34 · 2106 阅读 · 0 评论 -
tensorflow手动实现算法之二多元线性回归
1.多元线性回归与前面线性回归不同,线性回归的变量X只有一维,而多元线性回归的输入 X有多维。其他方面都很类似。2.代码实现'''0.00632 18.00 2.310 0 0.5380 6.5750 65.20 4.0900 1 296.0 15.30 396.90 4.98 24.000.02731 0.00 7.070 0 0.4690 ...原创 2020-04-28 20:54:43 · 619 阅读 · 0 评论 -
tensorflow手动实现算法之一线性回归
0.前言现在算法相关的框架与工具,封装得越来越好,调用越来越方便,以至于很多算法工程师被嘲笑或者自嘲为"调包侠",“调参侠”。确实在实际工作中,需要自己从头到尾实现算法的机会越来越少,尤其是分布式的系统,最多就是在框架实现的基础之上拉出一部分逻辑进行二次开发重新封装一下。即便如此,弄清楚算法的原理与流程,也还是有必要的,这样更方便实际中debug,定位问题,调整参数等等。因此,本人打算基于ten...原创 2020-04-28 11:26:42 · 597 阅读 · 0 评论 -
TypeError: Fetch argument has invalid type class ‘numpy.float32‘, must be a string or Tensor
1.问题tensorflow代码在运行的时候,出现如下错误Epoch: 0010 cost= 0.080483146 W= 0.23614137 b= 0.97142047...TypeError: Fetch argument 0.080483146 has invalid type <class 'numpy.float32'>, must be a string or T...原创 2020-04-26 12:00:46 · 2003 阅读 · 2 评论 -
交叉熵损失函数(Cross Entropy Error Function)与均方差损失函数(Mean Squared Error)
1.均方差损失函数(Mean Squared Error)均方差损失函数是预测数据和原始数据对应点误差的平方和的均值。计算方式也比较简单MSE=1N(y^−y)2MSE = \frac{1}{N}(\hat y - y) ^ 2MSE=N1(y^−y)2其中,N为样本个数。2.交叉熵损失函数(Cross Entropy Error Function)在分类问题中,尤其是在神经网络中,...原创 2020-04-19 18:59:13 · 22052 阅读 · 1 评论 -
item2vec详解
1.item2vec的兴起自从word2vec被证明效果不错以后,掀起了一股embedding的热潮。item2vec, doc2vec,总结起来就是everything2vec。在实际工作中,embedding的使用也非常广泛,今天我们就来说说常用的item2vec。word2vec构建样本时,句子分词以后就构成了一个天然的序列。那么在推荐的应用场景下,如何生成这个序列,或者说如何生成训练样...原创 2020-04-07 23:04:13 · 10690 阅读 · 1 评论 -
ValueError: Object arrays cannot be loaded when allow_pickle=False
在运行keras相关的代码时,发现报如下异常:ValueError: Object arrays cannot be loaded when allow_pickle=False在google上搜索一番,发现引起该问题的原因如下:本地numpy的版本为1.16.4。该版本numpy的函数np.load()和np.lib.format.read_array()采用allow_pickle关键...原创 2019-08-13 09:54:25 · 2458 阅读 · 0 评论 -
ImportError: cannot import name ‘abs‘
import tensorflow时候出现如下错误:ImportError: cannot import name 'abs'经过google,找到了原因,发现是protobuf与tensorflow发生了冲突。1.先删除tensorflow相关的模块pip uninstall tensorflow2.删除protobuf相关的模块pip uninstall protobuf3...原创 2019-08-06 14:51:09 · 7621 阅读 · 1 评论 -
深度学习最全优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
原文链接地址:http://blog.csdn.net/u012759136/article/details/52302426本文仅对一些常见的优化方法进行直观介绍和简单的比较,各种优化方法的详细内容及公式只好去认真啃论文了,在此我就不赘述了。1.SGD此处的SGD指mini-batch gradient descent,关于batch gradient descent, stochastic gr转载 2017-09-03 20:40:35 · 2297 阅读 · 0 评论 -
感知机(Perceptron)为什么不能表示异或(XOR)
1.感知机不能表示异或在很早之前学Pattern Recognition相关课程的时候,老师在课堂上就说过感知机遇到的一个大问题就是无法表示异或问题(XOR)。后来接触深度学习相关的内容,开头部分肯定会提到感知机,提到感知机也必会提到不能表示异或的问题。正好抽出点时间,稍微搞明白一下为什么感知机不能表示异或。2.感知机的数学定义感知机到底是什么呢?首先来看一下他的数学定义: 假设输入空间(即样本的原创 2017-12-11 10:23:48 · 20968 阅读 · 1 评论 -
最容易理解的对卷积(convolution)的解释
啰嗦开场白读本科期间,信号与系统里面经常讲到卷积(convolution),自动控制原理里面也会经常有提到卷积。硕士期间又学了线性系统理论与数字信号处理,里面也是各种大把大把卷积的概念。至于最近大火的深度学习,更有专门的卷积神经网络(Convolutional Neural Network, CNN),在图像领域取得了非常好的实际效果,已经把传统的图像处理的方法快干趴下了。啰啰嗦嗦说了这么多卷积,惭原创 2017-01-25 15:14:49 · 312472 阅读 · 88 评论 -
神经网络的直观解释相关文档
1.http://www.hackcv.com/index.php/archives/104/ 什么是卷积神经网络?为什么它们很重要?2.https://www.zhihu.com/question/39022858 卷积神经网络工作原理直观的解释?原创 2017-12-24 20:39:19 · 535 阅读 · 0 评论 -
前向传播算法(Forward propagation)与反向传播算法(Back propagation)
虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解。因此特意先对深度学习中的相关基础概念做一下总结。先看看前向传播算法(Forward propagation)与反向传播算法(Back propagation)。1.前向传播如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。 举个例子,假设上一层结点i,j,k,…等一些结点与本层的结点w有连接,那么结点转载 2017-12-16 11:45:23 · 139552 阅读 · 38 评论 -
神经网络之激活函数(activation function)
1.为什么要引入非线性激活函数(activation function)如果不使用非线性激活函数,此时激活函数本质上相当于f(x)=ax+b。这种情况先,神经网络的每一层输出都是上层输入的线性函数。不难看出,不论神经网络有多少层,输出与输入都是线性关系,与没有隐层的效果是一样的,这个就是相当于是最原始的感知机(Perceptron)。至于感知机,大家知道其连最基本的异或问题都无法解决,更别提更复杂的转载 2017-12-18 16:06:00 · 8425 阅读 · 2 评论 -
入门级都能看懂的softmax详解
1.softmax初探在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。 首先我们简单来看看softmax是什么意思。顾名思义,softmax由两个单词组成,其中一个是max。对于max我们都很熟悉,比如有两个变量a,b。如果a>b,则max为...原创 2018-09-02 23:35:37 · 692261 阅读 · 67 评论 -
ubuntu升级tensorflow版本
机器中的tensorflow版本有点老旧,想升级一下,发现用pip install --upgrade --ignore-installed tensorflow升级并没有奏效于是使用pip uninstall tensorflow先将老版本卸载,然后再重新安装:pip install tensorflow不过发现装上去的还是原来的旧版本。 找了一下解决方...原创 2018-09-17 15:44:15 · 5115 阅读 · 0 评论 -
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
在pycharm中运行代码的时候,爆出来如下错误:Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.最开始看到intel的字样,心里突然一惊,尼玛难道是跟CPU有什么冲突。赶紧查查这个 intel MKL是神马玩意。根据https://software.intel.com/zh-cn/mkl的描述:Th...原创 2018-10-16 11:24:44 · 2042 阅读 · 0 评论 -
深度学习里的损失函数与交叉熵
1.MSE损失函数损失函数是机器学习与深度学习里面的重要概念。从名字上就可以看出,损失函数(Loss Function)反应的是模型对数据的拟合程度。一般来说,损失函数越小,说明模型对数据的拟合也越好。同时我们还希望当损失函数比较大的时候,对应的梯度也会比较大,这样梯度下降的时候更新也会快一些。线性回归中,最常用的就是最小平方误差(MSE)了。MSE也相当简单:Lossmse=∑i=1n(y...原创 2018-11-22 17:09:47 · 3397 阅读 · 0 评论 -
‘module‘ object has no attribute ‘computation‘
在使用tensorflow跑CNN模型的时候,发现报了如下异常:AttributeError: 'module' object has no attribute 'computation'经过一番搜索,发现可能跟dask这个包有关系。dask包可能版本太老,于是执行pip install --upgrade dask将dask升级到最新版本,搞定收工...原创 2019-03-16 20:36:19 · 466 阅读 · 0 评论 -
embedding lookup
1.embeddingembedding现在在推荐系统、ctr预估系统中的使用无处不在。简单来理解就是,对于各种高维稀疏的特征,工作将单个特征映射成为一个低维稠密向量,将高维稀疏特征由"精确匹配"变成一个在embedding向量上的"模糊匹配",从而提高了算法的性能,将高维稀疏特征的可用性大大提高。2.lookupembedding lookup本质上是用矩阵的乘法来实现的,可以将其看成一个...原创 2019-03-18 18:51:36 · 7235 阅读 · 0 评论 -
TensorFlow 安装教程
趁着十一放假期间,有这么一点空闲时间,自己看了些tensorflow的资料,顺便在自己的机器上安装了一下tensorflow的环境。安装过程还算比较顺利,现在跟大家分享一下。1.准备好Anaconda环境tensorflow是属于很高层的应用。高层应用的一个比较大的麻烦就是需要依赖的底层的东西很多,如果底层依赖没有弄好的话,高层应用是没法玩转的。 在极客学院有关tensorflow的教程中,提到了原创 2016-10-07 14:48:01 · 112045 阅读 · 8 评论
分享