Tensorflow2.0笔记 - 创建tensor

        tensor创建可以基于numpy,list或者tensorflow本身的API。

        笔记直接上代码:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

tf.__version__

#通过numpy创建tensor
tensor0 = tf.convert_to_tensor(np.ones([2,3]))
print(tensor0)
tensor1 = tf.convert_to_tensor(np.zeros([2,3]), dtype=tf.int32)
print(tensor1)

#通过list创建tensor
tensor2 = tf.convert_to_tensor([1,2,3])
print(tensor2)
tensor3 = tf.convert_to_tensor([[1,2,3],[4,5,6.]])
print(tensor3)

#通过tensorflow的API创建
tensor4 = tf.zeros([3,3])
print(tensor4)
tensor5 = tf.ones([2,5], dtype=tf.float32)
print(tensor5)
#zeros_like以传入的tensor的shape为模版,但是值为全0
#类似的还有ones_like
tensor6 = tf.zeros_like(tensor5)
#和tensor6 = tf.zeros(tensor5.shape)是一样的
print(tensor6)

#fill填充任意值
tensor7 = tf.fill([2,2], 1.5)
print(tensor7)

#随机正态分布
tensor8 = tf.random.normal([5,5], mean=1, stddev=1)
print(tensor8)
#带截断的随机正态分布
tensor9 = tf.random.truncated_normal([3,3], mean=0, stddev=1)
print(tensor9)

#均匀分布
tensor10 = tf.random.uniform([3,3], minval=-2, maxval=2)
print(tensor10)

#随机排列,shuffle
ids = tf.range(10)
ids = tf.random.shuffle(ids)
print(ids)
#下面假设trainData和trainLabel是训练数据和训练标签
#trainData包含10张28*28的图片,trainLabel是每张图片对应的标签
trainData = tf.random.normal([10, 28*28*1])
trainLabel = tf.random.uniform([10], minval=0, maxval=10, dtype=tf.int32)
print("TrainData:",trainData)
print("TrainLabel:", trainLabel)
#通过传入shuffle后的index,调用gather来打散训练数据和训练标签
#同时保证训练数据和训练标签都能用同一个下表索引到
trainData = tf.gather(trainData, ids)
trainLabel = tf.gather(trainLabel, ids)
print("Shuffled Train Data:", trainData)
print("Shuffled Train Label:", trainLabel)

  notebook运行结果截图:

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,TensorFlow2.0是一个非常强大的深度学习框架,它提供了许多基本API,下面是一个简单的教程,介绍如何使用TensorFlow2.0中的基本API: 1. 安装TensorFlow2.0 首先,您需要安装TensorFlow2.0。您可以使用pip install tensorflow命令进行安装。如果您已经安装了旧版本的TensorFlow,可以使用pip install --upgrade tensorflow命令进行升级。 2. 导入TensorFlow2.0 在您的Python代码中,您需要导入TensorFlow2.0。您可以使用以下命令导入: ``` import tensorflow as tf ``` 3. 定义张量 张量是TensorFlow中的基本数据类型。您可以将它们视为多维数组。您可以使用以下命令定义一个张量: ``` #定义一个2x3的张量 tensor = tf.constant([[1, 2, 3], [4, 5, 6]]) ``` 4. 运行计算图 在TensorFlow中,您需要构建一个计算图并运行它。您可以使用以下命令运行计算图: ``` #运行计算图 with tf.Session() as sess: result = sess.run(tensor) ``` 5. 定义变量 变量是在计算图中可以改变值的节点。您可以使用以下命令定义一个变量: ``` #定义一个变量 variable = tf.Variable(0, name='counter') ``` 6. 定义占位符 占位符是在运行计算图时可以传递值的节点。您可以使用以下命令定义一个占位符: ``` #定义一个占位符 placeholder = tf.placeholder(tf.float32, shape=[None, 10]) ``` 7. 定义操作 操作是计算图中的节点,它们执行各种数学运算。您可以使用以下命令定义一个操作: ``` #定义一个操作 operation = tf.add(1, 2) ``` 8. 计算梯度 在TensorFlow中,您可以使用自动微分来计算梯度。您可以使用以下命令计算梯度: ``` #计算梯度 x = tf.Variable(3.0) with tf.GradientTape() as tape: y = x**2 grad = tape.gradient(y, x) ``` 以上是TensorFlow2.0基本API的简单介绍。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦枫Leonlew

希望这篇文章能帮到你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值