操作
TensorFlow 为我们提供了许多可以应用于 Tensors 的操作。通过传递值并将输出分配给另一个张量来定义操作。例如,在提供的 Jupyter Notebook 文件中,我们定义了两个操作,op1和op2:
op1 = tf.add(c2,c3)
op2 = tf.multiply(c2,c3)
当我们打印op1和op2时,我们发现它们被定义为张量:
print('op1 : ', op1)
print('op2 : ', op2)
输出如下:
op1 : Tensor("Add:0", shape=(), dtype=float32)
op2 : Tensor("Mul:0", shape=(), dtype=float32)
要打印这些操作的值,我们必须在 TensorFlow 会话中运行它们:
print('run(op1) : ', tfs.run(op1))
print('run(op2) : ', tfs.run(op2))
输出如下:
run(op1) : 13.0
run(op2) : 42.0
下表列出了一些内置操作:
| 操作类型 | 操作 |
|---|---|
| 算术运算 | tf.add,tf.subtract,tf.multiply,tf.scalar_mul,tf.div,tf.divide,tf.truediv , tf.floordiv , tf.realdiv , tf.truncatediv , tf.floor_div , tf.truncatemod , tf.floormod , tf.mod , tf.cross |
| 基本的数学运算 | tf.add_n,tf.abs,tf.negative,tf.sign,tf.reciprocal,tf.square,tf.round , tf.sqrt , tf.rsqrt , tf.pow , tf.exp , tf.expm1 , tf.log , tf.log1p , tf.ceil , tf.floor , tf.maximum , tf.minimum , tf.cos , tf.sin , tf.lbeta , tf.tan , tf.acos , tf.asin , tf.atan , tf.lgamma , tf.digamma , tf.erf , tf.erfc , tf.igamma, tf.squared_difference , tf.igammac,tf.zeta,tf.polygamma,tf.betainc,tf.rint |
| 矩阵数学运算 | tf.diag,tf.diag_part,tf.trace,tf.transpose,tf.eye,tf.matrix_diag,tf.matrix_diag_part,tf.matrix_band_part,tf.matrix_set_diag,tf.matrix_transpose,tf.matmul,tf.norm,tf.matrix_determinant ],tf.matrix_inverse,tf.cholesky,tf.cholesky_solve,tf.matrix_solve,tf.matrix_triangular_solve,tf.matrix_solve_ls,tf.qr, tf.self_adjoint_eig,tf.self_adjoint_eigvals,tf.svd |
| 张量数学运算 | tf.tensordot |
| 复数运算 | tf.complex,tf.conj,tf.imag,tf.real |
| 字符串操作 | tf.string_to_hash_bucket_fast,tf.string_to_hash_bucket_strong,tf.as_string,tf.encode_base64,tf.decode_base64,tf.reduce_join,tf.string_join,tf.string_split,tf.substr,tf.string_to_hash_bucket |