TensorFlow2.0 入门笔记(1)

测试TensorFlow版本

下面展示 测试Tensorflow版本

// 导入Tensorflow 和 Keras
import tensorflow as tf
from tensorflow.keras import layers
print(tf.__version__)
print(tf.keras.__version__)

我的TensorFlow版本如下:
测试结果

Tensorflow2.0 基础运算和操作

NumPy兼容性 在TensorFlow tf.Tensors和NumPy ndarray之间转换很容易:

  • TensorFlow操作自动将NumPy ndarrays转换为Tensors。
  • NumPy操作自动将Tensors转换为NumPy ndarrays。 使用.numpy()方法将张量显式转换为NumPy ndarrays。
  • 这些转换通常很容易的,但是注意:array和tf.Tensor共享底层内存并不总是可行的,因为tf.Tensor可以托管在GPU内存中,而NumPy阵列总是由主机内存支持,并且转换涉及从GPU到主机内存的复制。

Tensors运算和操作

张量是一个多维数组。 与NumPy ndarray对象类似,tf.Tensor对象具有数据类型dtype和形状shape。
下面展示 创建数据集

import tensorflow as tf
import numpy as np
print(tf.add(1,2))
print(tf.add([3,8], [2,5]))
print(tf.square(6))
print(tf.reduce_sum([7,8,9]))
print(tf.square(3)+tf.square(4))

x = tf.matmul([[3], [6]], [[2]])
print(x)
print(x.shape)
print(x.dtype)

Dataset 创建数据集

创建源数据集可以使用其中一个工厂函数Dataset.from_tensors,Dataset.from_tensor_slices 或使用从TextLineDataset或TFRecordDataset等文件读取的对象创建源数据集。
下面展示 创建数据集

import tensorflow as tf
import numpy as np
# 从列表中获取tensor
ds_tensors = tf.data.Dataset.from_tensor_slices([6,5,4,3,2,1])
# 创建csv文件
import tempfile
_, filename = tempfile.mkstemp()
print(filename)

with open(filename, 'w') as f:
    f.write("""Line 1
Line 2
Line 3""")
# 获取TextLineDataset数据集实例
ds_file = tf.data.TextLineDataset(filename)
  • dataset = tf.data.TextLineDataset(file_path)
    这个接口生成一个dataset,dataset类中保存的元素:文中一行,就是一个元素,是string类型的tensor。

  • map:map( map_func, num_parallel_calls=None)
    对map(函数)中元素进行操作,例如:
    a = Dataset.range(1, 6) # ==> [ 1, 2, 3, 4, 5 ]
    a.map(lambda x: x + 1) # ==> [ 2, 3, 4, 5, 6 ]

  • shuttle():本质是打乱元素的顺序,随机组合。括号中的数字是buffer_size。

  • batch(): a = Dataset.range(1, 4) # ==> [ 1, 2, 3 ]
    b = Dataset.range(4, 7) # ==> [ 4, 5, 6 ]
    c = Dataset.range(7, 13).batch(2) # ==> [ [7, 8], [9, 10], [11, 12] ]

  • zip(): 将多个dataset组合起来,注意要把多个dataset用括号包起来!
    Dataset.zip((a, b)) # ==> [ (1, 4), (2, 5), (3, 6) ]
    Dataset.zip((b, a)) # ==> [ (4, 1), (5, 2), (6, 3) ]
    Dataset.zip((a, b, c)) # ==> [ (1, 4, [7, 8]),
    # (2, 5, [9, 10]),
    # (3, 6, [11, 12]) ]

下面展示 对数据集进行运算

ds_tensors = ds_tensors.map(tf.square).shuffle(2).batch(2)
ds_file = ds_file.batch(2)
print('ds_tensors中的元素:')
for x in ds_tensors:
    print(x)
    
# 从文件中读取的对象创建的数据源
print('\nds_file中的元素:')
for x in ds_file:
    print(x)

结果图如下结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值