1.basic_something

1.基础必须(4个):op,session,graph,run
矩阵乘法:tf.matmul()

import tensorflow as tf
m1=tf.constant([[3,3]])#定义1行2列的矩阵常量op(1.op)
m2=tf.constant([[2],[3]])#2行1列的op
product=tf.matmul(m1,m2)#矩阵相乘的op
sess=tf.Session()#定义一个会话,并启动默认图(2.session,3.graph)
result=sess.run(product)#(4.run)
print(result)#[[15]]
sess.close()

2.变量(2个):Variable和init

import tensorflow as tf
x=tf.Variable([1,2])#定义变量op(1.Varable)
a=tf.constant([3,3])
sub=tf.subtract(x,a)#减法op
add=tf.add(x,sub)#加法op
init=tf.global_variables_initializer()#初始化变量(2.global_variables_initializer)
with tf.Session() as sess:
    sess.run(init)#run init
    print(sess.run(sub))
    print(sess.run(add))

3.变量的赋值(更新)不能用=,要借助中间变量用assign创建变量赋值op

import tensorflow as tf
state=tf.Variable(0,name='counter')#变量初始值0,name属性
new_value=tf.add(state,1)#加法op,此处变量不能直接赋值,要借助中间变量op
update=tf.assign(state,new_value)#(1.变量的复制操作不能直接用=,用assign创建给变量复制的op)
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))#0
    for _ in range(5):
        sess.run(update)
        print(sess.run(state))#1,2,3,4,5

4.run()函数内的fetch和feed
fetch:以列表形式输入多个需要运算的op:result=sess.run([sub,add])

import tensorflow as tf
x=tf.Variable([1,2])#定义变量op(1.Varable)
a=tf.constant([3,3])
sub=tf.subtract(x,a)#减法op
add=tf.add(x,a)#加法op
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    result=sess.run([sub,add])#(1.列表fetch)
    print(result)#[array([-2, -1]), array([4, 5])]

feed:以字典形式(feed_dict)给(placeholder)赋值
数值乘法:tf.multiply()

input1=tf.placeholder(tf.float32)#(1.定义占位符placeholder)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)
with tf.Session() as sess:
    print(sess.run(output,feed_dict={input1:8.,input2:2.}))#16.0,(2.feed_dict)

5.简单线性回归预测:1.loss,2.optimizer,3.train优化更新参数值

import tensorflow as tf
import numpy as np
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2#数据
k=tf.Variable(0.)
b=tf.Variable(0.)
y=k*x_data+b#模型,输出y是模型的预测输出
loss=tf.reduce_mean(tf.square(y_data-y))#(1.实际值与模型预测值的均方误差)
optimizer=tf.train.GradientDescentOptimizer(0.2)#(2.学习率为0.2的随机梯度优化器)
train=optimizer.minimize(loss)#(3.代价损失函数:用优化器减少损失值(loss),更新参数值(k,b))
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    for step in range(201):
        sess.run(train)
        if step%20==0:
            print(step,sess.run([k,b]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是小z呀

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值