tensorflow基础知识——(一)

数据处理常用函数

  • 加载内置数据集,返回数据类型为numpy
    (train_images, train_label), (_, _) = tf.keras.datasets.mnist.load_data()

  • 将原始数据转化为tf内置的数据集形式
    datasets = tf.data.Dataset.from_tensor_slices(train_images)

  • 数据是否需要打乱,是否需要划分为batch

    • 可以选择打乱的程度
    • 是否每次迭代之后都需要打乱
    • batch的大小(之后每次迭代时,next自动取一个batch的数据)
    • 可以用 list(datasets.as_numpy_iterator)查看数据

    datasets = datasets.shuffle(buffer_size).batch(batch_size)

tf.keras.Sequential用法

  • 快速的创建一个堆叠式的模型,模型中的每一层layer,可以用add来添加

  • 如何add 一层, 以全链接层为例

    • 直接用model.add(tf,keras.layers.Dense(8)) 此时,只是创建了一层框架,还没有调用build函数来构建layer中的参数
    • 如果指定input_shape(),则会在add的时候就构建参数model.add(tf.keras.layers.Dense(8, input_shape(16,)))
    • 最开始增加一层input_layer 可以在add的时候构建参数model.add(tf.keras.input(16,))来指定(注意,input_shape都不应该包含batch_size, 且model创建参数也只是和shape的最后一个维度有关 )

loss定义

  • corss_entropy: 表示预测模型和真实值差距的大小
  • 注意点:
    • 输出的是batch 的平均loss 还是sum loss 【可以指定】
    • 默认预测的输出是概率,如果不是归一化的概率,则需要显式指定from_logits=false
  • 常用于计算loss的

train 的基本框架

def train_step(image):
    # 接受一个批次的图片,做一次训练
    
    noise = tf.random.normal([batch_size, noise_dim])   # 生成batch_size个向量
    
    with tf.GradientTape() as gen_tape, tf.GradientTape() as disc_tage:
        real_out = discriminator(image, training=True)
        
        gen_image = generator(noise, training=True)
        fake_out = discriminator(gen_image, training=True)
        
        gen_loss = generator_loss(fake_out)
        disc_loss = discriminator_loss(real_out, fake_out)
        
    gradient_gen = gen_tape.gradient(gen_loss, generator.trainable_variables)
    gradient_disc = disc_tage.gradient(disc_loss, discriminator.trainable_variables)
    
    generator_opt.apply_gradients(zip(gradient_gen, generator.trainable_variables))
    discriminator_opt.apply_gradients(zip(gradient_disc, discriminator.trainable_variables))

def train(datasets, epochs):
    for epoch in range(epochs):
        for batch in datasets:
            train_step(batch)
            print(".",end="")
        generate_plot_image(generator, seed)
     ```


对于关注和分享TensorFlow深度学习算法设计的人工智能学习者来说,《深入理解人工智能算法设计》这本书是一本非常宝贵的学习资源。TensorFlow是一个开源的机器学习框架,它提供了丰富的工具和库,可以帮助开发者设计和训练高效的深度学习模型。 这本书对于TensorFlow深度学习的算法设计提供了详细、系统的解读,对于想要深入学习和掌握TensorFlow的人来说非常有帮助。书中包含了各种不同的算法设计案例,从基础的神经网络模型到复杂的深度学习网络,涵盖了各个方面的知识。 通过关注和分享《深入理解人工智能算法设计》这本书,可以帮助更多的人了解和学习TensorFlow深度学习的算法设计。同时,分享这本书也可以推广和宣传TensorFlow这个强大的工具,让更多的人受益于人工智能算法设计的知识。 为了方便更多人获取这本书,《深入理解人工智能算法设计》的PDF版本可以通过下载来获得。PDF格式的书籍可以在各种电子设备上阅读,包括电脑、平板和手机。通过下载PDF版本,学习者可以随时随地地查阅这本书,提高学习效率。 因此,我鼓励大家关注和分享《深入理解人工智能算法设计》这本书,通过深入学习TensorFlow深度学习的算法设计,提升自己在人工智能领域的技能和能力。同时,也希望更多人可以通过下载PDF版本的方式获取这本书,便捷地进行学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值