tensorflow的运算

Posted 月疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow的运算相关的知识,希望对你有一定的参考价值。

加减乘除

平方、用来求x 的y 次幂(次方)、求平方

开方sqrt

//整除,%取余

exp(e),log对数

tf.multiply(x, y, name=None)两个相乘的数x和y要有相同的数据类型

 矩阵运算

矩阵形式转换

 

tensorflow加法:

import tensorflow as tf

a = tf.constant(7)
b = tf.constant(10)
c = tf.add(a,b)

print(c)

tensorflow矩阵乘法:

import tensorflow as tf
import timeit

with tf.device('/cpu:0'):
    cpu_a = tf.random.normal([10000,1000])
    cpu_b = tf.random.normal([1000,2000])
    print(cpu_a.device,cpu_b.device)

with tf.device('gpu:0'):
    gpu_a = tf.random.normal([10000,1000])
    gpu_b = tf.random.normal([1000,2000])
    print(gpu_a.device,gpu_b.device)

def cpu_run():
    with tf.device('cpu:0'):
        c = tf.matmul(cpu_a,cpu_b)
    return c

def gpu_run():
    with tf.matmul(gpu_a,gpu_b):
        c = tf.matmul(gpu_a,gpu_b)
    return c

#warm up
cpu_time = timeit.timeit(cpu_run,number = 10)
gpu_time = timeit(gpu_run,number = 10)
print('warmup:',cpu_time,gpu_time)

#run
cpu_time = timeit.timeit(cpu_run,number = 10)
gpu_time = timeit(gpu_run,number = 10)
print('run:',cpu_time,gpu_time)

tensorflow求导

import tensorflow as tf

x = tf.constant(1.)
a = tf.constant(2.)
b = tf.constant(3.)
c = tf.constant(4.)

with tf.GradientTape() as tape:
    tape.watch([a,b,c])  #对a,b,c分别求导
    y = a**2 * x +b*x +c #这是多项式


[dy_da,dy_db,dy_dc] = tape.gradient(y,[a,b,c]) #分别对dy/da,dy/db,dy/dc

print(dy_da,dy_db,dy_dc)

以上是关于tensorflow的运算的主要内容,如果未能解决你的问题,请参考以下文章

JAVA第二章数据类型与运算符

作业二:生成四则运算和二元一次方程

位运算判断一个数是否为2的n次方

好玩的位运算2:用一条语句判断一个整数是不是2的整数次方

[TensorFlow系列-7]:TensorFlow基础 - 张量的算术运算

[TensorFlow系列-8]:TensorFlow基础 - 张量的取整运算