tf.placeholder函数说明

tf.placeholder函数说明函数形式:tf.placeholder(dtype,shape=None,name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型 shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3],[None,3]表示列是3,行不定) name:名称为什么要用placeh…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

函数形式:

tf.placeholder(
    dtype,
    shape=None,
    name=None
)

参数:

  1. dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
  2. shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)
  3. name:名称

为什么要用placeholder?

       Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,类似于docker中的镜像。然后,在实际的运行时,启动一个session,程序才会真正的运行。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,是有成本的,tensorflow通过计算流图的方式,帮你优化整个session需要执行的代码,还是很有优势的。

       所以placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据。


代码示例:

import tensorflow as tf
import numpy as np

input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)

output = tf.multiply(input1, input2)

with tf.Session() as sess:
    print(sess.run(output, feed_dict = {input1:[3.], input2: [4.]}))

import tensorflow as tf
import numpy as np

x = tf.placeholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)

with tf.Session() as sess:
    #print(sess.run(y))  # ERROR:此处x还没有赋值
    rand_array = np.random.rand(1024, 1024)
    print(sess.run(y, feed_dict={x: rand_array})) 

参考资料:https://www.jianshu.com/p/ec261a65e3c9


觉得有用请留下你的赞 ^_^ 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158336.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月26日 下午8:36
下一篇 2022年7月26日 下午8:46


相关推荐

  • 安卓 新浪微博随便看看

    安卓 新浪微博随便看看关于 UI 布局中 listView 控件的使用 该篇的功能是实现简单的微博随便看看 1 创建数据源 2 创建适配器 3 建立 Adapter 和数据的关联 建立 AdapterView 和 Adapter 之间的关联 下面分别摘取几个比较重要的代码 MainActivity java 1importjava text SimpleDateFo 2importjava

    2026年3月17日
    2
  • p6使用教程_pwdump7使用

    p6使用教程_pwdump7使用hibernate打印sql

    2022年10月6日
    4
  • eclipse导入web项目进行部署并运行

    eclipse导入web项目进行部署并运行eclipse导入web项目进行部署并运行eclipse导入web项目操作总结web项目部署eclipse导入web项目导入项目前默认已经配置好web项目开发环境,未配置好请点击这儿左键单击File,选择Import…,或者直接在工作区空白处右击选择Import,再选择Import…选择General文件下的ExistingprojectsintoWorkspace,将项目导入到工作区中选择Browse选择要导入的项目,然后在Options中的copyprojectintoproje

    2025年5月26日
    8
  • APK签名命令「建议收藏」

    APK签名命令「建议收藏」apksigner,默认同时使用V1和V2签名进入AndroidSDK/build-tools/SDK版本,输入命令apksignersign–ks密钥库名–ks-key-alias密钥别名xxx.apk若密钥库中有多个密钥对,则必须指定密钥别名apksignersign–ks密钥库名–ks-key-alias密钥别名xxx.apk–ks-key-alias密钥库别名,若密钥库只有一个密钥对,则可省略,反之必选…

    2022年6月3日
    46
  • 维纳过程的数值模拟

    维纳过程的数值模拟importnumpya 10mu sigma 0 002 0 1 均值和标准差 N int T sigma s np random normal mu np sqrt sigma N z np cumsum s

    2026年3月18日
    2
  • idea激活 jetbrains-agent(jetbrains激活码)

    一、下载jar包JetbrainsCrack-2.7-release-str.jar百度这个jar包名字很多资源最好是找最新的二、找到软件的安装路径下的bin目录;将下载的jar包放到bin目录下,并将datagrip64.exe.vmoptions、datagrip.exe.vmoptions两个文件末尾添加一行代码-javaagent:C:\JetBrains\DataGri…

    2022年4月14日
    2.1K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号