目录
- Numpy
- Pandas
- Scikit-learn
- Tensorflow
- 基础入门代码
- 图像分类
- keras
- 特点
- 允许研究人员快速搭建原型设计
- 支持深度学习中的卷积神经网络和循环神经网络,以及他们两者之间的结合
- 可以在CPU和GPU上无缝运行
- 如何进行安装
- keras使用
Numpy
numpy对于数组运算,向量运算和矩阵运算的支持是非常好的,底层代码由C语言编写,执行效率高。
Pandas
基于Numpy的数据分析框架,内部包含了许多标准化的第三方可视工具,比如Matplotlib,Seaborn,Bokeh,Seaborn是Matplotlib的高级可视化框架,用于数据统计分析以及探索的可视化工具,支持Numpy和Pandas的高级数据结构
Scikit-learn
对于常用的分类,回归,聚类等机器学习算法提供了非常简便的高级API。如果只做机器学习,是一个很好的选择。
Tensorflow
著名机器学习框架,由谷歌研发,2016年谷歌开发出硬件TPU支持Tensorflow框架,相比于GPU,TPU的功耗更低,速度更快。AlphaGO也是使用TPU,2017年谷歌提出能够部署在移动端上的TensorFlow Lite,可以在移动端上部署人工智能软件。同时TensorFlow集成了可视化工具TensorBoard
使用清华镜像安装的命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow
也可以使用Docker进行安装,Docker容器里面已经有了Tensorflow的容器版本
基础入门代码
import tensorflow as tf
hello=tf.constant(‘Helllo,TensorFlow!’)
sess=tf.Session()
# 输出一句话
print(sess.run(hello))
#处理数值类数据的计算操作
a=tf.constant(2)
b=tf.constant(3)
with tf.Session() as sess:
print(sess.run(a))
print(sess.run(b))
print(sess.run(a+b))
print(sess.run(a*b))
#使用placeholder设置变量进行运算
a=tf.placeholder(tf.int16)
a=tf.placeholder(tf.int16)
add=tf.add(a,b)
mul=tf.multiply(a,b)
with tf.Session() as sess:
print(sess.run(add,feed_dict(a:2,b:3)))
print(sess.run(mul,feed_dict(a:2,b:3)))
#进行矩阵计算
matrix1=tf.constant([[3.],[3.]])
matrix2=tf.constant([[2.],[2.]])
with tf.Session() as sess:
result = sess.run(matrix1 * matrix2)
print(result)
图像分类
# estimator实现花的分类,花萼长度,花萼宽度,花瓣长度,花瓣宽度,分类标签是山鸢尾0,变色鸢尾1,维吉尼亚鸢尾2
# 根据数据集来设置输入函数,提供用于训练,评估和与预测的数据
def input_evaluation_set():
features={'SpealLength':np.array(6.4,5.0),
'SpealWidth':np.array(2.8,2.3),
'PetalLength':np.array(5.6,3.3),
'PetalWidth':np.array(2.2,1.0)
}
labels=np.array([2,1])
return features,labels
#对于数据特征设置特征列
FEATURE_KEYS=['speal_length','speal_width','petal_length','petal_width']
feature_columns=[tf.feature_column.numeric_column(key,shape=1) for key in FEATURE_KEYS]
# 输入层对应四个节点,分别是四种特征,隐含层分别是10,20,10个单元,输出是三个节点,分类
classifier=tf.estimator.DNNClassifier(
feature_columns=feature_columns,hidden_units=[10,20,10],n_classes=3
)
# 进行训练
classifier.train(
input_fn=lambda:iris_data_train_input_fn(train_x,train_y,args.batch_size),
steps=arg.train_steps()
)
#进行准确评估
eval_result=classifier.evaluate(
input_fn=lambda: iris_data_train_input_fn(train_x, train_y, args.batch_size)
)
keras
相比于tensorflow,keras 是更高层次的深度学习框架API,keras是使用Python编写完成的,后端可以支持tensorflow,Theano,CNTK 等多种深度学习框架接口,2017年,keras被整合在了TensorFlow中
特点
允许研究人员快速搭建原型设计
keras的API是模块化的,其中神经网络层,损失函数,优化器和激活函数都可以作为模块进行组装,并且扩展性很强。
支持深度学习中的卷积神经网络和循环神经网络,以及他们两者之间的结合
可以在CPU和GPU上无缝运行
如何进行安装
1、
pip install keras
2、使用tensorflow中的keras
3、使用源码安装
git clone https://github.com/keras-team/keras.git
cd keras
sudo python setup.py install
keras使用
keras 包含两种模型,第一种模型是序列模型,第二种模型是函数式模型,后者可以用于多入多出,有向无环图。
后续会更新---------------