问题标签 [tensorflow-layers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - 使用 tf.layers 时替代 arg_scope
我正在tf.contrib.slim.nets.inception_v3
使用tf.layers
. 不幸的是,新tf.layers
模块不适用于arg_scope
,因为它没有必要的装饰器。是否有更好的机制可以用来设置图层的默认参数?或者我应该简单地为每一层添加一个适当的参数并删除arg_scope
?
这是一个使用 arg_scope 的示例:
tensorflow - Tensorflow 卷积层有奇怪的伪影
谁能解释我做错了什么,我的张量板图在我使用时有额外的组tf.layers.conv1d
?
为简单起见,我创建了一个tf.name_scope
包含: 的“conv_block1” conv1d -> max_pool -> batch_norm
,但我的图表有奇怪的附加块(见附件截图)。基本上是一个表面块“conv1d was added with weights for the
conv_block1/conv1d”层,它被放置一个组。这使得具有多个卷积块的网络完全不可读,是我做错了什么还是 Tensorflow 1.4 中的某种错误/性能特性?奇怪的是,密集层很好,权重也有适当的范围。
如果有人想重新创建图表,这里是代码:
更新 1
我添加了更简单的示例,可以直接执行以查看问题:
输出:
tensorflow - 如何在 tf.layers 模块中使用 TensorBoard 和汇总操作
我按照TensorFlow Layers 教程使用 TensorFlow 的 tf.layers 模块为 MNIST 数字分类创建了一个 CNN。现在我正在尝试从TensorBoard:Visualizing Learning学习如何使用 TensorBoard 。也许本教程最近没有更新,因为它说它的示例代码是对该教程的修改并链接到它,但代码完全不同:它手动定义了一个单隐藏层全连接网络。
TensorBoard 教程展示了如何使用 tf.summary 通过在层的权重张量上创建操作来将摘要附加到层,这是可以直接访问的,因为我们手动定义了层,并将 tf.summary 对象附加到这些操作。要做到这一点,如果我使用 tf.layers 及其教程代码,我相信我必须:
- 修改图层教程的示例代码以使用非功能接口(Conv2D 代替 conv2d 和 Dense 代替密集)来创建图层
- 使用图层对象的 trainable_weights() 函数获取权重张量并将 tf.summary 对象附加到这些张量
这是将 TensorBoard 与 tf.layers 一起使用的最佳方式,还是有一种与 tf.layers 和功能接口更直接兼容的方式?如果是这样,是否有更新的官方 TensorBoard 教程?如果文档和教程更加统一,那就太好了。
tensorflow - 如何保存 Tf.contrib 模型修剪?
我已经建立了一个模型,并且我能够使用 tf.contrib 的模型修剪模块成功地修剪它,默认参数和稀疏度为 90%,但问题是当我运行模型时,它仍然需要与之前相同的执行时间原始模型,我的猜测是,tensorflow 不是只运行修剪后的版本,而是运行带有掩码权重的整个图,这就是为什么即使在修剪后也没有改进的原因。
那么如何导出带有子图和各自权重的修剪模型并使用它呢?
python - How to use tf.contrib.model_pruning on MNIST?
I'm struggling to use Tensorflow's pruning library and haven't found many helpful examples so I'm looking for help to prune a simple model trained on the MNIST dataset. If anyone can either help fix my attempt or provide an example of how to use the library on MNIST I would be very grateful.
The first half of my code is pretty standard except my model has 2 hidden layers 300 units wide using layers.masked_fully_connected
for pruning.
Then I attempt to define the necessary pruning operations but I get an error.
Error on this line:
prune_train = tf.contrib.model_pruning.train(train_op=train_op, logdir=None, mask_update_op=mask_update_op)
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10] [[Node: Placeholder_1 = Placeholderdtype=DT_FLOAT, shape=[?,10], _device="/job:localhost/replica:0/task:0/device:GPU:0"]] [[Node: global_step/_57 = _Recv_start_time=0, client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_71_global_step", tensor_type=DT_INT64, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
I assume it wants a different type of operation in place of train_op but I haven't found any adjustments that work.
Again if you have a different working example that prunes a model trained on MNIST I would consider that an answer.
tensorflow - 与普通层不同,Keras 自定义层不返回权重
我正在尝试获取图层的权重。当使用 keras 层并且输入连接到它时,它似乎可以正常工作。但是,在将其包装到我的自定义层中时,它不再起作用了。这是一个错误还是我错过了什么?
编辑:注意事项:
我读到可以在自定义层的 build() 中定义可训练变量。但是,由于自定义层由 keras 层 Dense (以及以后可能更多的 keras 层)组成,那些应该已经定义了可训练变量和权重/偏差初始化器。(我看不到在 TestLayer 的init () 中使用将在 TestLayer 的 build() 中定义的变量来覆盖它们的方法。
tensorflow - 在 tf.contrib.layers 中分配权重时是否有替代 constant_initializer 的方法
我想将权重传递给tensorflow.contrib.layers.conv2d
. 图层具有参数weights_initializer
。当通过张量时weights_initializer=tf.constant_initializer(tensor)
,张量作为节点额外添加到图中,导致模型的大小增加。
这种权重初始化有替代方法吗?
我知道tf.nn.conv2d
接受权重作为参数。然而,我正在使用的当前模型使用 contrib-layers。
python - 在张量流中设置预训练权重的简单方法?
有没有一种简单的方法可以将预训练的权重设置为张量流层?(不带 keras)
在 keras 中,它很容易model.set_weights(...)
或layer.set_weights(...)
- 但我在 tf 中为此烦恼了一天多,似乎找不到任何有效的方法。
python - 选择 Tensorflow 1 层中的特定特征
我遵循本 教程并使用Github 页面中的 ipynb notebook 在 Google Colaboratory 中生成 deepdream 图像。本教程使用 Inception5h 网络。该模型中的 12 层通常用于生成图像。
每层由大约 500 个单独的特征组成,它们识别不同的模式。可以选择层中的特定特征,这会产生不同的结果。我已经在第 6 层“mixed4a:0”中生成了每个特征的图像。我现在要做的是混合这些功能。
像这样选择特定层:
我可以选择一系列这样的功能:
我正在尝试做的是选择特定功能而不是一系列功能。我已经尝试了一些显然不起作用的东西。
为了弄清楚“layer_tensor”是什么类型的对象/事物/数据结构,我尝试使用不同的参数打印它:
一般来说,我是 Tensorflow 和神经网络的新手。有谁知道如何选择不同的功能,而不仅仅是一系列功能?提前致谢!
要运行代码,请将“DeepDream_using_tensorflow.ipynb”文件加载到 Google Colaboratory。选择带有 GPU 后端的 Python3 运行时。将文件“download.py”和“inception5h.py”上传到运行时,它应该可以正常工作。
python-3.x - Tensorflow 无法从工作代码中创建 Autograph
- 操作系统平台和发行版:ubuntu 20.04
- TensorFlow版本:2.1.0
- Python版本:3.7.6
我想写一个简单的层来处理 tf.experiment.make_csv_dataset 的输出,我可以用批量平均值来估算数字 dtypes 中的缺失值,保持在测试时使用的移动平均值,为分类创建嵌入列并保持维度依赖于预定义的唯一值列表。
下面是我写的代码:
创建数据来测试这个
在 ram 中创建一批
测试它:这有效:
这适用于错误报告
这失败了
有人可以帮助我了解这里发生了什么以及如何实现预期的行为