曾经有一门机器学习课程摆在我面前,但是我没有珍惜,等到结课了才追悔莫及。于是自己给自己一个再来机会,从零开始的机器学习! –KW

Tensorflow
Anaconda
安装anaconda
命令行输入pip install Tensorflow
然后会下载 tensorflow 及其其他组件(很慢)
下载完成之后,输入python 进入 python 可执行界面
输入 import tensorflow as tf来检验 Tensorflow 是否安装成功。如果没有报任何错,可以正常执行,则说明 Tensorflow 已经安装成功。
但实际上…
1
2
3
>>> import tensorflow as tf
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
ImportError: numpy.core.multiarray failed to import
网上查了下,numpy版本问题
更新numpy: pip install --upgrade numpy
重新import试试,没报错,OK。
API
tf.constant
1
2
3
4
5
6
7
tf.constant(
value,
dtype=None,
shape=None,
name='Const',
verify_shape=False
)
第一个参数 value 必须,可以是一个数值,也可以是一个列表。
第二个参数 dtype 表示数据类型,一般可以是 tf.float32 , tf.float64 等。
第三个参数 shape 表示张量的“形状”,即维数以及每一维的大小。
第四个参数 name 可以是任何内容,主要是字符串就行。
第五个参数 verify_shape 默认为 False ,如果修改为 True 的话表示检查 value 的形状与 shape 是否相符,如果不符会报错。
tf.multiply() 与 tf.matmul()
-
tf.multiply() 两个矩阵中对应元素各自相乘
格式: tf.multiply(x, y, name=None)
参数:
x : 一个类型为: half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128 的张量。
y : 一个类型跟张量 x 相同的张量。
返回值: x * y element-wise.
注意:(1)multiply 这个函数实现的是元素级别的相乘,也就是两个相乘的数元素各自相乘,而不是矩阵乘法,注意和 tf.matmul 区别。(2)两个相乘的数必须有相同的数据类型,不然就会报错。 -
tf.matmul() 将矩阵 a 乘以矩阵 b ,生成a * b
格式: tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)
参数:
a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量。
b: 一个类型跟张量a相同的张量。
transpose_a: 如果为真, a则在进行乘法计算前进行转置。
transpose_b: 如果为真, b则在进行乘法计算前进行转置。
adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。
adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。
a_is_sparse: 如果为真, a会被处理为稀疏矩阵。
b_is_sparse: 如果为真, b会被处理为稀疏矩阵。
name: 操作的名字(可选参数)
返回值: 一个跟张量a和张量b类型一样的张量且最内部矩阵是a和b中的相应矩阵的乘积。
注意:
(1)输入必须是矩阵(或者是张量秩 >2的张量,表示成批的矩阵),并且其在转置之后有相匹配的矩阵尺寸。
(2)两个矩阵必须都是同样的类型,支持的类型如下:float16, float32, float64, int32, complex64, complex128。