1、Keras是一个由Python编写的开源人工神经网络库。
2、深度学习主要应用在三个大的方向,计算机视觉,自然语言处理,强化学习
3、计算机视觉主要有:图片识别,目标检测,语义分割,视频理解(行为检测),
图片生成,艺术风格迁移等等。
4、自然语言处理:机器翻译、聊天机器人
5、强化学习:虚拟游戏、机器人、自动驾驶
6、tensorflow:加速计算,自动梯度,
常用神经网络接口:
TensorFlow 除了提供底层的矩阵相乘、相加等数学函数,还内建了常用神经网络运算
函数、常用网络层、网络训练、模型保存与加载、网络部署等一系列深度学习系统的便捷
功能。使用 TensorFlow 开发,可以方便地利用这些功能完成常用业务流程,高效稳定。
7、tf.constant(2,tf.int16)常量,值不能改变
tf.Variable(4,tf.int16)变量,值可以改变,但是形状和数据类型不能改变
8、除了tf.zeros()和tf.ones()能够创建一个初始值为0或1的张量之外,还有一个tf.random_normal()函数,它能够创建一个包含多个随机值的张量,这些随机值是从正态分布中随机抽取的(默认的分布均值为0.0,标准差为1.0)。
10、图和会话:所有不同的变量以及对这些变量的操作都保存在图(Graph)中。在构建了一个包含针对模型的所有计算步骤的图之后,就可以在会话(Session)中运行这个图了。会话可以跨CPU和GPU分配所有的计算。
9、另外还有一个tf.truncated_normal()函数,它创建了一个包含从截断的正态分布中随机抽取的值的张量,其中下上限是标准偏差的两倍。
graph = tf.Graph() with graph.as_default(): a=tf.Variable(8,tf.float32) b=tf.Variable(tf.zeros[2,2],tf.float32) with tf.Session(graph=graph) as session: tf.global_variables_initializer().run() print(f) print(session.run(f)) print(session.run(k))
结果:
<tf.Variable 'Variable:0' shape=() dtype=int32_ref> #print (a)
8
[[0. 0.]
[0. 0.]]
11、占位符和feed_dicts
在tensorflow中我们在执行session之前需要设置占位符,在session.run中用feed_dict 将其传入
tensorflow中的占位符用 tf.placeholder并且有三个参数
(1)数据类型:
(2)数据大小:
(3)占位符名称:
例如:
import tensorflow as tf import numpy as np x = tf.placeholder(tf.float32, [2, 50], name = 'originalx') y = tf.placeholder(tf.float32, [2,50], name = 'originaly') c = x+y with tf.Session() as sess: a = np.random.randint(0,80,100).reshape((2,50)) aa = np.random.random(100).reshape((2,50)) result = sess.run(c, feed_dict = {x:a, y:aa}) print(result)