TensorFlow笔记2-0-核心概念
文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days。
TensorFlow™ 是一个采用 数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
TensorFlow的主要优点:
灵活性:支持底层数值计算,C++自定义操作符
可移植性:从服务器到PC到手机,从CPU到GPU到TPU
分布式计算:分布式并行计算,可指定操作符对应计算设备
俗话说,万丈高楼平地起,TensorFlow这座大厦也有它的地基。
Tensorflow底层最核心的概念是张量,计算图以及 ...
TensorFlow笔记1-4-时间序列数据建模流程范例
文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days,能力有限,未做太多修改,未来会加入自己的理解。
模型有问题,且运行结果与教程不同,待熟悉后再来验证
本篇文章将利用TensorFlow2.0建立时间序列RNN模型,对国内的新冠肺炎疫情结束时间进行预测。
一、准备数据
本文的数据集取自tushare,获取该数据集的方法参考了以下文章。
《https://zhuanlan.zhihu.com/p/109556102》
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras import models,layers,losses,metrics,callbacks
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
df = pd.read_csv(" ...
TensorFlow笔记1-3-文本数据建模流程范例
文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days,能力有限,未做太多修改,未来会加入自己的理解。
一、准备数据
imdb数据集的目标是根据电影评论的文本内容预测评论的情感标签。
训练集有20000条电影评论文本,测试集有5000条电影评论文本,其中正面评论和负面评论都各占一半。
文本数据预处理较为繁琐,包括中文切词(本示例不涉及),构建词典,编码转换,序列填充,构建数据管道等等。
在tensorflow中完成文本数据预处理的常用方案有两种
第一种是利用tf.keras.preprocessing中的Tokenizer词典构建工具和tf.keras.utils.Sequence构建文本数据生成器管道。
第二种是使用tf.data.Dataset搭配keras.layers.experimental.preprocessing.TextVectorization预处理层。
第一种方法较为复杂,其使用范例可以参考以下文章。
https://zhuanlan.zhihu.com/p/67697840
第二种 ...
TensorFlow笔记1-2-图片数据建模流程范例
一、准备数据
cifar2数据集为cifar10数据集的子集,只包括前两种类别airplane和automobile。
训练集有airplane和automobile图片各5000张,测试集有airplane和automobile图片各1000张。
cifar2任务的目标是训练一个模型来对飞机airplane和机动车automobile两种图片进行分类。
我们准备的Cifar2数据集的文件结构如下所示。
方案有两种,第一种是使用tf.keras中的ImageDataGenerator工具构建图片数据生成器。
第二种是使用tf.data.Dataset搭配tf.image中的一些图片处理方法构建数据管道。
第一种方法更为简单,其使用范例可以参考以下文章。
https://zhuanlan.zhihu.com/p/67466552
第二种方法是TensorFlow的原生方法,更加灵活,使用得当的话也可以获得更好的性能。
我们此处介绍第二种方法。
import tensorflow as tf
from tensorflow.keras import datasets,layers,m ...
TensorFlow笔记1-1-结构化数据建模流程范例
文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days,能力有限,未做太多修改,未来会加入自己的理解。
一、准备数据
titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存。
结构化数据一般会使用Pandas中的DataFrame进行预处理。
导入数据
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras import models,layers
dftrain_raw = pd.read_csv('./data/titanic/train.csv') # dftrain_raw.shape:(712, 12)
dftest_raw = pd.read_csv('./data/titanic/test.csv')
dftrain_raw.head(10)
输出结果:
.datafra ...
TensorFlow笔记1-0-建模流程
文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days,能力有限,未做太多修改,未来会加入自己的理解。
TensorFlow的建模流程
TensorFlow设计上足够灵活,可以用于进行各种复杂的数值计算。人们通常使用TensorFlow来实现机器学习模型,尤其常用于实现神经网络模型。
从原理上说可以使用张量构建计算图来定义神经网络,并通过自动微分机制训练模型。
但为简洁起见,一般推荐使用TensorFlow的高层次keras接口来实现神经网络网模型。
使用TensorFlow实现神经网络模型的一般流程包括:
准备数据
定义模型
训练模型
评估模型
使用模型
保存模型。
对新手来说,其中最困难的部分实际上是准备数据过程。
我们在实践中通常会遇到的数据类型包括结构化数据,图片数据,文本数据,时间序列数据。
我们将分别以titanic生存预测问题,cifar2图片分类问题,imdb电影评论分类问题,国内新冠疫情结束时间预测问题为例,演示应用tensorflow对这四类数据 ...
神经网络零碎知识点
python基础
神经网络入门-阮一峰
准备运行环境TensorFlow2.0
Ubnutu使用TensorFlow2.0
Windows10使用TensorFlow2.0
jupyter notebook 如何修改默认目录
命令行模式下的默认目录
打开 cmd 输入命令 jupyter notebook --generate-config
打开jupyter_notebook_config.py后找到#c.NotebookApp.notebook_dir...删除前面的# 然后填写自己的路径,保存。
修改快捷方式
删除目标中的jupyter-notebook-script.py后的%USERPROFILE%,并修改起始位置为自己的安装目录。
Theano简介
原文地址:https://morvanzhou.github.io/tutorials/machine-learning/theano/
theano 和 tensorflow 类似,都是基于建立神经网络每个组件,在把组件联系起来,数据放入组件,得到结果。
一、基本用法
首先, 需要加载 theano 和 numpy 两个模块, 并且使用 theano 来创建 function
import numpy as np
import theano.tensor as T
from theano import function
定义X和Y两个常量 (scalar),把结构建立好之后,把结构放在function,在把数据放在function。
# basic
x = T.dscalar('x') # 建立 x 的容器
y = T.dscalar('y') # 建立 y 的容器
z = x+y # 建立方程
# 使用 function 定义 theano 的方程,
# 将输入值 x, y 放在 [] 里, 输出值 z 放在后面
f = function([x, y ...
Applying Sequence Mining for Outlier Detection in Process Mining
一、文章速览
1.论文信息
题目-作者-时间-出版社-引用
Fani Sani M., van Zelst S.J., van der Aalst W.M.P. (2018) Applying Sequence Mining for Outlier Detection in Process Mining. In: Panetto H., Debruyne C., Proper H., Ardagna C., Roman D., Meersman R. (eds) On the Move to Meaningful Internet Systems. OTM 2018 Conferences. OTM 2018. Lecture Notes in Computer Science, vol 11230. Springer, Cham
2.背景
异常行为通常会导致复杂,难以理解的,有时甚至是不准确的过程挖掘结果。因此,为了减少这些不利影响,在加挖掘中往往采用一个旨在消除异常行为和保持良好行为的预处理步骤。通常,这一步是手工完成的,需要领域知识,而且成本高、时间长。
3.方 ...
Mining Process Models with Non-Free-Choice Constructs
一、文章速览
1.论文信息
题目-作者-时间-出版社-引用
Wen, Lijie et al. “Mining process models with non-free-choice constructs.” Data Mining and Knowledge Discovery 15 (2007): 145-180.
2.背景
现实生活中的许多进程不具有自由选择属性。因此,提供能够成功发现非自由选择结构的技术非常重要。目前存在的算法不能充分处理这样的结构。
3.方法
本文介绍了一种成功挖掘隐式依赖关系的方法α++ 。
4.概述
假设:
(i) 日志必须是完整的
(ii)日志是无噪声的
(iii)日志中变迁名称唯一(无重名变迁)
本文关注挖掘非自由选择结构,即同时存在选择和同步的情况。使用基于Petri网的算法α++,可以挖掘非自有选择结构。即,一些非自由选择的Petri网可以被正确地发现。
5.局限
并非所有合理的工作流网都能成功地从其相应的事件日志中导出。
在N4 ={ABCE, ACBE, ABDDCE}中,A和D以及D和E之间都有隐式的依赖关系 ...