Tensotflow1.0入门(八)-tensorflow源代码目录结构

文件夹
tensorflow #主目录
third_party #第三方库,包括eigen3(特征运算的库,包括SVD,LU分解等),gpus(支持cuda),hadoop,jpeg,llvm,py,sycl
tools #构建cuda支持

文件
ACKNOWLEDGMENTS #tensorflow的版权说明
ADOPTERS.md #使用Tensorflow的人员或者组织列表
arm_compiler.BUILD
AUTHORS #Tensorflow作者的官方列表
BUILD
CODE_OF_CONDUCT.md
CODEOWNERS
configure
configure.py
CONTRIBUTING.md
ISSUE_TEMPLATE.md
LICENSE
models.BUILD
README.md
RELEASE.md #每次发版本的change log
SECURITY.md
WORKSPACE #配置移动端开发环境

tensorflow主目录文件夹
.clang-format
api_template.init.py
BUILD
c
cc #采用C++进行训练的样例
compiler
contrib #将常用功能封装在一起的高级API
core #c++实现的主要目录
docs_src
examples #各种示例
g3doc #针对c++,Python版本的代码文档
go
java
js
python #python实现的主要目录
security
stream_executor #流处理器
tensorflow.bzl
tf_exported_symbols.lds
tf_framework_version_script.lds
tf_version_script.lds
tools #一些工具杂项
version_check.bzl
workspace.bzl
init.py

tensorflow/contrib文件夹
contrib目录中保存的时将常用的功能封装成高级API,但这个目录并不官方支持,但很有可能在后续被官方迁移到核心的目录中。
framework:很多函数(如get_variables,get_global_step)
layers:这个包主要网络的各种操作
learn:包括完成训练模型和评估模型,读取批处理数据和队列功能的API封装
rnn:提供了额外的RNN Cell,也就是对RNN隐藏层的各种改进,包含LSTMBlockCell等
seq2seq:这个包提供了建立神经网络seq2seq层和损失函数的操作
slim:Tensorflow-Slim(TF-Slim)是一个用于定义,训练和评估Tensorflow中的复杂模型的轻量级库

tensorflow/core文件夹
api_def
BUILD
common_runtime #公共运行库
debug
distributed_runtime #分布式执行模块,含有grpc session,grpc worker,grpc master
example
framework #基础功能模块
graph
grappler
kernels #一些核心操作在CPU,CUDA内核上的实现
lib #公共基础库
ops
platform #操作系统实现相关文件
profiler
protobuf #.proto文件,用于传输时的结构化序列化
public #API的头文件目录
user_ops
util

参考:《TensorFlow 技术解析与实战》

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 TensorFlow 中,padding=1 通常是指使用 'SAME' 或 'VALID' 作为卷积层的 padding 参数,而不是具体的整数值。如果你在 TensorFlow 中使用整数值作为 padding 参数,可能会遇到 `'int' object has no attribute 'lower'` 的错误。 要解决这个问题,你需要将 padding 参数设置为字符串类型的 'SAME' 或 'VALID'。例如,使用 TensorFlow 中的 Conv2D 层进行卷积操作: ``` import tensorflow as tf # 输入数据 shape 为 [batch_size, height, width, channels] inputs = tf.random.normal([32, 224, 224, 3]) # 创建卷积层,指定 padding 参数为 'SAME' conv_layer = tf.keras.layers.Conv2D(filters=32, kernel_size=3, padding='SAME') # 进行卷积操作 outputs = conv_layer(inputs) ``` 在上述代中,padding 参数被设置为 'SAME',这意味着 TensorFlow 会在输入数据的边缘周围自动添加 padding,以保持卷积后输出特征图的尺寸与输入数据相同。如果 padding 参数被设置为 'VALID',则 TensorFlow 不会添加 padding,而是对输入数据进行裁剪,使得卷积后输出特征图的尺寸比输入数据小。 ### 回答2: 在TensorFlow中,padding是一个参数,用于指定在进行卷积操作时添加的边缘填充(padding)的数量。默认情况下,padding的取值可以是"VALID"或"SAME"。当padding参数为1时,出现'int' object has no attribute 'lower'的报错是因为padding参数的取值不符合预期。 在TensorFlow中,padding参数需要是一个字符串类型,不能是一个整数。这个报错的原因是由于padding参数传递的是整数类型而不是字符串类型,因此出现了'int' object has no attribute 'lower'的错误。 为了解决这个问题,我们需要将padding参数的取值改为字符串类型,比如将padding=1改为padding="SAME"或padding="VALID",这样就可以避免'int' object has no attribute 'lower'的报错了。 例如: ``` import tensorflow as tf # 使用padding="SAME" conv1 = tf.nn.conv2d(input, filters, strides=[1, 1, 1, 1], padding="SAME") # 使用padding="VALID" conv2 = tf.nn.conv2d(input, filters, strides=[1, 1, 1, 1], padding="VALID") ``` 以上就是解决报错'int' object has no attribute 'lower'的方法,需要确保padding参数是字符串类型。 ### 回答3: 在TensorFlow中,padding参数用于控制卷积层的填充方式。当你将padding参数设置为1时,会出现'int' object has no attribute 'lower'的错误。 这个错误通常是因为padding参数不正确引起的。在TensorFlow中,padding参数应该是一个字符串类型的值,只能是"VALID"或"SAME"。 - "VALID"表示不进行填充,只进行有效的卷积操作。 - "SAME"表示进行零填充,使得输出的特征图尺寸与输入特征图尺寸相同。 当你将padding设置为1时,实际上不符合上述规则,因为padding参数不是一个字符串类型。因此,会提示'int' object has no attribute 'lower'的错误。 要解决这个问题,你需要将padding参数设置为一个合法的字符串值,如下所示: ``` padding = "SAME" ``` 这样,你就可以正确地设置卷积层的填充方式,避免了错误产生。记得在代中确认你的padding参数的类型是字符串。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值