TensorFlow入门

TensorFlow入门,第1张

1可扩展参数: 从 kwargs 字典里获取,可限制key的取值

vars : name scope 下的变量(字典)

placeholders : 外部变量占位,一般是特征和标签(字典)

layers : 神经网络的 layer (列表)

activations : 每个 layer 的输出结果(列表)

inputs : 输入

output : 输出

loss : 损失

accuracy : 准确率

optimizer :优化器

opt_op :最优化的 op *** 作

_build 是私有 build 方法,在继承Model的具体实现时对 layers 进行 append *** 作,下面介绍 build 方法:

调用 _build ,所有变量设置共享空间( selfname )

构建模型序列:给输入,通过layer()返回输出,又将这个输出再次作为输入到下一个 layer() 中,循环这一过程;最终,取最后一层 layer 的结果作为 output

保存 name scope下 的变量到 selfvars

模型效果度量: _loss 方法, _accuracy 方法

常用的结构化数据文件格式有csv、txt 、libsvm,本篇文章主要说明结构化数据(csv/txt)如何在TF框架进行高效、灵活的读取,避免一些不合理的方式,迈出算法开发标准化、工程化的第一步。

最常见的读取数据的方式是利用pandas包将csv、txt读取为DataFrame,一次全部放入内存。这是一种非常低效的方式,应该尽量避免这种读取方法。其他第三方封装python读取方式的包(TFLearn等)也不建议使用,推荐使用TF框架的OP *** 作进行数据读取。

高效的 TensorFlow 读取方式是将数据读取转换成 OP,通过 session run 的方式拉去数据。读取线程源源不断地将文件系统中的文件读入到一个内存的队列中,而负责计算的是另一个线程,计算需要数据时,直接从内存队列中取就可以了,这样就可以解决GPU因为IO而空闲的问题。同时,不会一次性的preload到内存,再大的数据量也不会超出内存的限制。

梯度下降梯度下降是一个在机器学习中用于寻找较佳结果(曲线的最小值)的迭代优化算法。梯度的含义是斜率或者斜坡的倾斜度。下降的含义是代价函数的下降。

 算法是迭代的,意思是需要多次使用算法获取结果,以得到最优化结果。梯度下降的迭代性质能使欠拟合演变成获得对数据的较佳拟合。

 梯度下降中有一个称为学习率的参量。如上图左所示,刚开始学习率较大,因此下降步长更大。随着点的下降,学习率变得越来越小,从而下降步长也变小。同时,代价函数也在减小,或者说代价在减小,有时候也称为损失函数或者损失,两者是一样的。(损失/代价的减小是一个概念)。

 只有在数据很庞大的时候(在机器学习中,数据一般情况下都会很大),我们才需要使用epochs,batch size,iteration这些术语,在这种情况下,一次性将数据输入计算机是不可能的。因此,为了解决这个问题,我们需要把数据分成小块,一块一块的传递给计算机,在每一步的末端更新神经网络的权重,拟合给定的数据。

(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;

(2)iteration:1个iteration等于使用batchsize个样本训练一次;

(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐 *** 作。

1 基本使用:创建DataFrame DataFrame是一张二维的表,大家可以把它想象成一张Excel表单或者Sql表。Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384,超过这个规模的数据Excel就会d出个框框“此文本包含多行文本,无法放置在一个工作表中”。Pandas处理上千万的数据是易如反掌的sh事情,同时随后我们也将看到它比SQL有更强的表达能力,可以做很多复杂的 *** 作,要写的code也更少。

说了一大堆它的好处,要实际感触还得动手码代码。首要的任务就是创建一个DataFrame,它有几种创建方式:

(1)列表,序列(pandasSeries), numpyndarray的字典

二维numpyndarray

别的DataFrame

结构化的记录(structured arrays)

(2)其中,二维ndarray创建DataFrame,代码敲得最少:

import pandas as pd

import numpy as np

df = pdDataFrame(nprandomrandn(10, 4))

df

0 1 2 3

0 0927474 0127571 1655908 0570818

1 -0425084 -0382933 0468073 -0862898

2 -1602712 -0225793 -0688641 1167477

3 -1771992 -0692575 -0693494 -1063697

4 -0456724 0371165 1883742 -0344189

5 1024734 0647224 1134449 0266797

6 1247507 0114464 2271932 -0682767

7 -0190627 -0096997 -0204778 -0440155

8 -0471289 -1025644 -0741181 -1707240

9 -0172242 0702187 -1138795 -0112005

(3)通过describe方法,可以对df中的数据有个大概的了解:

dfdescribe()

0 1 2 3

count 10000000 10000000 10000000 10000000

mean -0189096 -0046133 0394722 -0320786

std 1027134 0557420 1258019 0837497

min -1771992 -1025644 -1138795 -1707240

25% -0467648 -0343648 -0692281 -0817865

50% -0307856 0008734 0131648 -0392172

75% 0652545 0310266 1525543 0172096

max 1247507 0702187 2271932 1167477

2 改变cell。

3 group by。

4 读写文件。

以上就是关于TensorFlow入门全部的内容,包括:TensorFlow入门、pandas怎么读取.data数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9573583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存