1. TensorFlow
TensorFlow不仅可以用来做神经网络算法研究,也可以用来做普通的机器学习算法,甚至是只要你能够把计算表示成数据流图,都可以用TensorFlow。
一个简单的小例子:(前三张:输入,最后一张:输出)loss会返回,使得输入无限准确。经过200次的训练,使得w和b的值无限接近一开始预设的0.1和0.3。
![]()
![]()
人工智能实战项目合集:https://github.com/Honlan/DeepInterests
在使用TensorFlow之前,有必要了解如下几个概念:
1. 计算是用图的形式表示的。
2. Sessions是执行的入口,类似于SparkContext。
3. 数据是用tensor表示的。
4. Variables用来表示可变状态,比如模型参数。
5. 使用feeds和fetches从运算节点输入和输出数据。
TensorFlow计算框架要求所有的计算都表示成图,节点在图中被称为运算op(operation简称)。一个运算可以获得零个或者多个Tensors,经过计算,可以产生零个或者多个Tensors。一个Tensor是一个多维数组,举个例子,可以把一批图像数据表示成一个4维浮点数组[batch, height, width, channels]
计算图是通过Session提交,一个Session决定图中的运算该到那个设备上去计算,比如是选CPU还是CPU。运算op产生的结果在python中是一个numpy.ndarray数组对象,在C和C++中是tensorflow::Tensor实例。
shape [2,3] 表示为数组的意思是第一维有两个元素,第二维有三个元素,如: [[1,2,3],[4,5,6]]
TensorFlow用张量这种数据结构来表示所有的数据。你可以把一个张量想象成一个n维的数组或列表。一个张量有一个静态类型和动态类型的维数。张量可以在图中的节点之间流通。在TensorFlow系统中,张量的维数来被描述为阶。
import tensorflow as tf
a = tf.constant([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]],shape = [3,3])
b = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(b)
print(sess.run(a))
[[ 1. 2. 3.]
[ 4. 5. 6.]
[ 7. 8. 9.]]
2. 拓展知识
PET:
正电子发射型计算机断层显像(Positron Emission Computed Tomography),是核医学领域比较先进的临床检查影像技术。PET全称为正电子发射计算机断层显像(positron emission tomography PET),是反映病变的基因、分子、代谢及功能状态的显像设备。它是利用正电子核素标记葡萄糖等人体代谢物作为显像剂,通过病灶对显像剂的摄取