掌握一个编程语言先从手写经典代码开始

本文讲述了作者在重温TensorFlow实战书籍时,通过亲手编写关键代码理解深度神经网络的过程。强调了从定义网络结构、损失函数、优化方法到数据准备和会话构建的重要性,并分享了自我实践的心得体会。
摘要由CSDN通过智能技术生成

如题都是扯淡的,倒是在第一次看tensorflow实战这本书的时候,没有特别的在意代码的实现,以至于看完后觉得很有道理,但是让自己来编写一个深度神经网络时,不知道从合作下手,因为之前都是在看(或者誊写)书本上的代码,觉得很有道理,然后就没有然后了。

这次重温这本书,过程中的关键代码,都做了闭卷自己来写一遍、一遍又一遍(当然是换一点自己的想法后来写),慢慢的也就了解到了大致的tensorflow的最小化模型:

  1. 定义网络结构:包含输入输出定义(placeholder),参数定义啊(如weight变量、bias变量等等),中间层计算操作(如逐层的矩阵相乘等等);
  2. 定义损失函数:(分类问题和回归问题的常用损失函数啊,或者针对具体的问题进行的特殊定义等)
  3. 定义优化方法:(包含学习步骤啊,优化方法啊等等)
  4. 准备数据:(有些用的数据集读入,或者用随机函数进行生成组合)
  5. 会话构建 
    1. 初始化所有的变量
    2. 对数据进行分批次的训练,不断更新变量参数
    3. 存下来相关的图结构和变量变化过程

虽然到目前为此依然没有写出一个标准数据集上的经典算法,但是已经把入门的小小方法做了多次变动实现,如下,以作纪念,主要参考《Tensorflow+实战Google深度学习框架》:

# -*-coding:utf-8 -*-

import tensorflow as tf
from numpy.random import RandomState

# prepare the network
batch_size = 8
x = tf.placeholder(tf.float32, shape=(None, 2), name="x-input")
y_ = tf.placeholder(tf.float32, shape=(None, 1), name="y-input")

w = tf.Variable(tf.ra
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值