操作
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 |