当前位置:   article > 正文

深度学习--八股_深度学习八股

深度学习八股
  1. #coding:utf-8
  2. #0 导入模块,生成模拟数据集
  3. import tensorflow as tf
  4. import numpy as np
  5. import os
  6. os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
  7. BATCH_SIZE = 8
  8. seed = 23455
  9. #基于seed产生随机数
  10. rng=np.random.RandomState(seed)
  11. #随机数返回32行2列的矩阵 表示32组体积和重量 作为输入数据集
  12. X = rng.rand(32,2)
  13. #从X这个32行2列的矩阵中 取出1行 判断如果和小于1 给Y赋值1 否则给Y赋值0
  14. #作为输入数据集的标签(正确答案)
  15. Y = [[int(x0 + x1 < 1)] for (x0,x1) in X]
  16. print "X:\n",X
  17. print "Y:\n",Y
  18. #1 定义神经网络的输入,参数和输出。定义前向传播过程
  19. x = tf.placeholder(tf.float32, shape=(None, 2))
  20. y_= tf.placeholder(tf.float32, shape=(None, 1))
  21. with tf.device('/cpu:0'):
  22. w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
  23. w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
  24. with tf.device('/gpu:0'):
  25. a=tf.matmul(x,w1)
  26. y=tf.matmul(a,w2)
  27. #定义损失函数和反向传播方法
  28. loss = tf.reduce_mean(tf.square(y-y_))
  29. #train_step = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
  30. train_step = tf.train.AdamOptimizer(0.001).minimize(loss)
  31. #train_step = tf.train.MomentumOptimizer(0.001,0.9).minimize(loss)
  32. #3 生成会话,训练STEPS轮
  33. with tf.Session() as sess:
  34. init_op = tf.global_variables_initializer()
  35. sess.run(init_op)
  36. #输出目前(未经)训练的参数值
  37. print "w1:\n", sess.run(w1)
  38. print "w2:\n", sess.run(w2)
  39. #训练模型
  40. STEPS = 5000
  41. for i in range(STEPS):
  42. start = (i*BATCH_SIZE) % 32
  43. end = start + BATCH_SIZE
  44. sess.run(train_step,feed_dict={x:X[start:end],y_:Y[start:end]})
  45. if i % 500 == 0:
  46. total_loss = sess.run(loss,feed_dict={x:X,y_:Y})
  47. print("After %d traning steps,loss on all data is %g" %(i,total_loss))
  48. #输出训练后的参数值
  49. print "\n"
  50. print "w1:\n", sess.run(w1)
  51. print "w2:\n", sess.run(w2)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/823707
推荐阅读
相关标签
  

闽ICP备14008679号