02.tensorflow基础用法(代码片段)

taojh taojh     2023-03-09     221

关键词:

tensorboard   accuracy

1.什么是tensorflow?

  Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op(operation)

  一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor 看作是一个 n 维的数组或列表。图必须在会话(Session)里被启动。

  技术图片

  tensorflow使用图(graphs)来表示计算任务,在被称之为会话(Session)的上下文(context)中执行图

  使用tensor表示数据,通过变量(Variable)维护状态,使用feed和fetch可以为任意的操作赋值或者从其中获取数据。

2.创建图和启动图

  

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 12 15:02:01 2019

@author: 32751
"""
import tensorflow as tf
m1 = tf.constant([[3,3]])#创建一常量op,两行一列
m2 = tf.constant([[2],[3]])#创建一常量op,一行两列
product = tf.matmul(m1,m2)#创建一个矩阵乘法op,m1,m2传入
print(product)

# 定义一个绘画,启动默认图
sess = tf.Session()#调用sess的run方法来执行矩阵乘法op
result = sess.run(product)#run(product)触发了途中三个op
print(result)
sess.close()

#第二种方式执行矩阵乘法
with tf.Session() as sess:
    result = sess.run(product)
    print(result)

运行结果如下:

  技术图片

 

3.tensorflow变量加减

  

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 12 15:27:44 2019

@author: 32751
"""
import tensorflow as tf
x = tf.Variable([1,2])
a = tf.constant([3,3])
#增加一个减法op
sub = tf.subtract(x,a)
#增加一个加法op
add = tf.add(x,sub)
#定义全部的变量
init = tf.global_variables_initializer()

with tf.Session() as sess:
    #先对init运行一下,很有必要!
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))
#创建一个变量,初始化为0,名字为counter
state = tf.Variable(0,name="counter")
#创建一个新op,使原变量加一
new_value = tf.add(state,1)
#将新的值再重新赋给原变量
update = tf.assign(state,new_value)
#初始化变量
init = tf.global_variables_initializer()
#启动图
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))
    for _ in range(5):
        sess.run(update)
        print(sess.run(state))

  运行结果如下:

  技术图片

4.feed赋值,fetch可以操纵多个变量

  

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 12 15:52:50 2019

@author: 32751
"""
import tensorflow as tf
#Fetch  同时运行多个op的意思
input1 = tf.constant(3.0)
input2 = tf.constant(2.0)
input3 = tf.constant(5.0)

add = tf.add(input2,input3)
#乘法
mul = tf.multiply(input1,add)

with tf.Session() as sess:
    result = sess.run([mul,add])
    print(result)

#Feed
    #创建占位符
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1,input2)
#feed的数据以字典的形式传入
with tf.Session() as sess:
    print(sess.run(output,feed_dict=input1:[7.],input2:[2.]))

  运行结果如下:

  技术图片

5.构造线性模型,梯度下降优化

  

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 12 16:13:06 2019

@author: 32751
"""
import tensorflow as tf
import numpy as np
#使用numpy生成100个随机点(样本)
x_data = np.random.rand(100)  #确定的值
y_data = x_data*0.1 + 0.2   #确定的值
#构造一个线性模型(准备优化)
b = tf.Variable(0.)
k = tf.Variable(0.)
y = k*x_data + b  #k与b影响loss

#二次代价函数
loss = tf.reduce_mean(tf.square(y_data-y))
#定义一个梯度下降法来进行训练的优化器
optimizer = tf.train.GradientDescentOptimizer(0.2)
#最小化代价函数
train = optimizer.minimize(loss)

#初始化变量
init = tf.global_variables_initializer()

#绘画
with tf.Session() as sess:
    sess.run(init)
    for step in range(201):#迭代201次
        sess.run(train)
        if step%20 == 0:
            print(step,sess.run([k,b]))

  运行结果如下:

  技术图片

  

 

androidui之recyclerview基础用法(代码片段)

基础用法添加依赖 //RecyclerAdapterimplementation'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'//glideimplementation'com.github.bumptech.glide:glide:4.8.0';效果图布局文件activity_fruit.xml& 查看详情

docker基础用法(代码片段)

docker基础用法什么是dockerdocker中的容器:lxc-->libcontainer-->runCOCI&OCFOCIOpenContainer-initiative由Linux基金会主导于2015年6月创立旨在围绕容器格式和运行时制定一个开放的工业化标准包含两个规格:运行时规范(runtime-spec)形象规范... 查看详情

git的基础用法(代码片段)

1.创建用户信息gitconfig--globaluser.name‘your_name‘gitconfig--globaluser.email‘your_email‘注意:  gitconfig有三种情况:gitconfig--local#只对某个git仓库有效,默认情况下使用。            gitconfig--global#global对当前用户所有... 查看详情

深度学习(07)_rnn-循环神经网络-02-tensorflow中的实现(代码片段)

关于基本的RNN和LSTM的概念和BPTT算法可以查看这里本文个人博客地址:点击这里参考文章:https://r2rt.com/recurrent-neural-networks-in-tensorflow-i.htmlhttps://r2rt.com/styles-of-truncated-backpropagation.html一、源代码实现一个binary例子1、 查看详情

datastore的基础用法(代码片段)

文章目录0.简介1.SP的缺点2.DataStore的基础用法a.DataStore怎么写b.DataStore怎么读3.从SP迁移到DataStore4.DataStore的封装类5.个人结论0.简介Google在推出JetPack组件以来,一直推荐我们使用DataStore组件替代到我们第一天学android就知道的Shar... 查看详情

tscript的基础用法和函数的用法(代码片段)

Tyepscript安装编译一.安装Typescriptcnpminstall-gtypescript二.检查是否安装成功tsc-v三.Typescript开发工具Vscode自动编译.ts文件在当前文件夹输入cmd打开小黑框输入tsc--init自动生成tsconfig.json文件打开生成的tsconfig.json文件outDir解开改成./js然... 查看详情

tscript的基础用法和函数的用法(代码片段)

Tyepscript安装编译一.安装Typescriptcnpminstall-gtypescript二.检查是否安装成功tsc-v三.Typescript开发工具Vscode自动编译.ts文件在当前文件夹输入cmd打开小黑框输入tsc--init自动生成tsconfig.json文件打开生成的tsconfig.json文件outDir解开改成./js然... 查看详情

vue新版router.addroute基础用法(代码片段)

vue新版router.addRoute基础用法新版VueRouter中用router.addRoute来替代原有的router.addRoutes来动态添加路由、子路由在添加子路由的时候比如原现有路由constroutes=[path:'/',name:'Login',component:()=>import(/*webpackChunkNa 查看详情

docker的基础用法(代码片段)

docker基础用法什么是DockerDocker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行... 查看详情

make文件基础用法(代码片段)

参照:https://www.jianshu.com/p/0b2a7cb9a469创建工作目录,包含一下文件main.cperson.cb.hc.h/***c.h***///thisisc.h/***b.h***///thisisb.h/***main.c***/#include<stdio.h>//#include"a1.h"//#include"b.h"intmain()prin 查看详情

gson基础用法总结(代码片段)

...;今天就来总结一下其详细的用法,在本篇中将讲解其基础的使用方法,下一篇将讲解其高级的用法。1、基本数据 查看详情

awk的基本概念,基础用法和高级用法(代码片段)

awk:文本处理三剑客:grep系,sed,awkgrep系:grep,egrep,fgrep,基于PATTERN进行文本过滤;sed:流编辑器,逐行编辑器;模式空间,保持空间;awk:报告生成器;格式化文档输出;awk是下面三个人的姓氏缩写:最早由AlfredAho开发的,... 查看详情

yield基础用法(代码片段)

yield是产出的意思,就是返回一个值,这一点有点像return,但是不会结束函数的执行。那它什么时候继续执行呢?等待下一次迭代器被调用时候返回上次中断的地方,利用这个特性可以实现range函数:defmy_range(max_num):i=0whilei<max_... 查看详情

05-基础-系统指令-v-model-基础用法(代码片段)

<!DOCTYPEhtml><html><head><metacharset='UTF-8'><metaname='viewport'content='width=device-width,initial-scale=1.0'><metahttp-equiv='X-UA-Com 查看详情

学习qt——gui的基础用法(代码片段)

1、listWidget列表在构造函数里面添加:1for(inti=0;i<9;i++)23ui->listWidget->addItem(QString::number(i)+"itemhere");4在pushbutton里面添加1voidDialog::on_pushButton_clicked()23//QListWidgetItem*itm=ui->list 查看详情

2.docker基础用法(代码片段)

Docker架构docker是C/S架构的软件,无论是client端还是Server端都是由docker一个程序提供,这个程序有很多子程序。dockerdaemon就是其中一个子程序,当运行dockerdaemon时,主机就运行成一个守护进程服务器,它可以监听在某个套接字上,... 查看详情

promise的基础用法(代码片段)

Promise是异步编程的一种解决方案,比传统的解决方案–回调函数和事件--更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了语法,原生提供了Promise所谓Promise,简单说就是一个容器,里面保存着某个... 查看详情

python基础学习第九节import用法详解(代码片段)

Python基础学习之import用法1.直接引入模块;import模块名;import模块名,这时python可以引入以下两种模块;举例如下:我们安装好的模块;(其实就是在环境变量路径下的模块;)运行文件所在目录下的文件;(这里我们推荐用from... 查看详情