sklearn:在分类,回归领域不错。图像领域效果差
tensorflow :图像,nlp领域。
特别是卷积神经网络:图像识别
循环神经网络:自然语言处理nlp。
谷歌brain2015推出tensorflow(带graph的可视化,非常方便)
优点:
1、可移植性
支持包括CPU/GPU/TPU,以及能够很好地运行在移动端,
如安卓设备、ios、树莓派等等
2、多语言支持
python/c++程序。
3、高度的灵活性与效率
TensorFlow:张量在图中流动(data flow graphs),用于数值计算的开源软件库
能够灵活进行组装图,执行图。随着开发的进展,Tensorflow的效率不算在提高
4、支持
TensorFlow 由谷歌提供支持,谷歌投入了大量精力开发 TensorFlow,它希望
TensorFlow 成为机器学习研究人员和开发人员的通用语言
推荐Tensorflow 1.0 稳定版(有gpu /cpu版本)
Ubuntu虚拟机不能使用gpu版本
一行代码就 开启gpu非常简单
Tensorflow :计算密集型 (大量矩阵运算)
Django ,Scrapy :io密集型 ,频繁请求
cpu:综合能力还可以,计算能力不突出。
Gpu :对图像计算能力非常厉害。
tensorflow = 图graph(定义程序结构,定义流程图)+ 会话session(真正计算)
图graph = 数据单元(tensor张量) + 计算单位(op,operation)
张量: constant,Variable 等等
Tensorflow 程序 一般有:
前端系统:定义图,定义各种变量,张量等
后端系统: 根据图进行运算。
tensorflow语法比较特殊,第一简单的例子,实现加法运算
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
# 默认图定义
a = tf.constant(1.0)
b = tf.constant(2.1)
c = tf.add(a,b)
print(a) # 常量
print(b) # 常量
print(c) # 加法op
with tf.Session() as ses:
ses.run(c)
图:定义好整个程序
Session 会话: 启动整个程序。
图
一组表示 tf.Operation计算单位的对象
和tf.Tensor表示操作之间流动的数据单元的对象
含有默认图
tf.get_default_graph()
# 获取默认图
op.graph
sess.graph
tensor.graph
查看所属于的图
g1 = tf.Graph() # 创建g1图
with g1.as_default():
a = tf.constant(1.0) # 图中定义
assert c.graph is g`
import tensorflow as tf
import