小编Cha*_*ine的帖子

深度神经网络中的交叉验证

如何在深度神经网络中进行交叉验证?我知道执行交叉验证将在所有折叠上训练它,除了一个折叠并在排除的折叠上测试它。然后对 k 次折叠执行此操作,并平均每次折叠的准确率。您如何为每次迭代执行此操作。您是否在每次折叠时更新参数?或者您对每次迭代执行 k 折交叉验证?或者对所有折叠的每次训练都被视为一次迭代?

cross-validation deep-learning tensorflow

7
推荐指数
1
解决办法
1万
查看次数

使用批量大小为'2的幂'在张量流上更快?

我从某个地方读到,如果你选择的批量大小是2,那么训练会更快.这个规则是什么?这适用于其他应用吗?你能提供参考文件吗?

machine-learning deep-learning tensorflow batchsize

7
推荐指数
2
解决办法
3512
查看次数

Tensorflow Object Detection API中`train.py`和`model_main.py`的区别

我通常只是train.py用来训练使用 Tensorflow Object Detection API。但是,我从https://www.kaggle.com/c/rsna-pneumonia-detection-challenge/discussion/68581中读到,您也可以使用它model_main.py来训练模型并在 Tensorboard 上查看实时绘图和图像。

  1. 你是如何model_main.py在 Tensorboard 上使用的?
  2. train.py和 和有model_main.py什么区别?

tensorflow object-detection-api

6
推荐指数
1
解决办法
1605
查看次数

freeze_graph in tensorflow: AssertionError: y_ is not in graph

In Tensorflow, after training the model, I saved it use:

with tf.Session() as session:
/** 
    ------- Model training code goes here ------
**/
tf.train.write_graph(session.graph_def, '.', '../har.pbtxt')  
saver.save(session,save_path = "../har.ckpt")
Run Code Online (Sandbox Code Playgroud)

And to freeze and save the optimized model:

from tensorflow.python.tools import freeze_graph
from tensorflow.python.tools import optimize_for_inference_lib

freeze_graph.freeze_graph(input_graph = "../har.pbtxt",  input_saver = "",
             input_binary = False, input_checkpoint = "../har.ckpt", output_node_names = "y_",
             restore_op_name = "save/restore_all", filename_tensor_name = "save/Const:0",
             output_graph = "frozen_har.pb", clear_devices = True, initializer_nodes = "")

input_graph_def = tf.GraphDef()
with tf.gfile.Open(output_frozen_graph_name, …
Run Code Online (Sandbox Code Playgroud)

python graph deep-learning tensorflow

5
推荐指数
1
解决办法
6511
查看次数

使用强化学习进行分类问题

我可以在分类上使用强化学习吗?比如人类活动识别?如何?

reinforcement-learning deep-learning tensorflow

5
推荐指数
2
解决办法
2569
查看次数

如何在 Jupyter Notebook 或 Python Shell 中设置标志

我需要运行名为的脚本train.py,但还需要通过在 bash 中发出以下命令来设置 flas:

\n\n
train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,它捕获了这个错误:

\n\n
\n

文件\n“/Users/cvsanbuenaventura/miniconda3/lib/python3.6/site-packages/google/protobuf/text_format.py”,\n第1288行,在_ConsumeSingleByteString\n引发self.ParseError(\'字符串缺少结束引号: %r\' % (text,)) google.protobuf.text_format.ParseError: 123:17 : 字符串缺少结尾\n 引用:\n \'"/Users/cvsanbuenaventura/Documents/tensorflow/models/research/object_detection/ train.record\xe2\x80\x9c\'

\n
\n\n

所以我想在Python Shell或Jupyter Notebook中逐行调试。不过我还需要设置train_dir标志。我该如何实现这个目标?

\n

python flags jupyter-notebook

5
推荐指数
2
解决办法
4831
查看次数

如何在Tensorflow中使用`transform_graph`

我想优化经过冻结训练的Tensorflow模型。但是,我发现该optimize_for_inference库不再可用。

import tensorflow as tf

from tensorflow.python.tools import freeze_graph
from tensorflow.python.tools import optimize_for_inference_lib

input_graph_def = tf.GraphDef()
with tf.gfile.Open("./inference_graph/frozen_model.pb", "rb") as f:
    data = f.read()
    input_graph_def.ParseFromString(data)

output_graph_def = optimize_for_inference_lib.optimize_for_inference(
        input_graph_def,
        ["image_tensor"], ## input  
        ["'detection_boxes, detection_scores, detection_classes, num_detections"], ## outputs
        tf.float32.as_datatype_enum)

f = tf.gfile.FastGFile("./optimized_model.pb", "wb")
f.write(output_graph_def.SerializeToString())
Run Code Online (Sandbox Code Playgroud)

transform_graphhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/graph_transforms/README.md#strip_unused_nodes找到了优化我的冻结模型。我能够成功地为我的对象检测模型生成一个可以工作的优化模型。生成模型的优化版本的目的是提高模型的推理速度。我在bash(/ tensorflow根目录)中输入了以下代码:

bazel-bin/tensorflow/tools/graph_transforms/transform_graph \
--in_graph=/Users/cvsanbuenaventura/Documents/tensorflow_fastlog/models/research/object_detection/inference_graph/frozen_inference_graph.pb \
--out_graph=/Users/cvsanbuenaventura/Documents/tensorflow_fastlog/models/research/object_detection/inference_graph/optimized_inference_graph-transform_graph-manyoutputs-planA2-v2.pb \
--inputs='image_tensor' \
--outputs='detection_boxes, detection_scores, detection_classes, num_detections' \
--transforms='fold_batch_norms
fold_old_batch_norms
fold_constants(ignore_errors=true)'
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  1. 转换做什么? fold_batch_norms, fold_old_batch_norms, fold_constants(ignore_errors=true)
  2. 我能够使用上面的三个转换成功生成优化的模型。但是还有其他变换(例如strip_unused_nodes(type=float, shape="1,299,299,3"))。这是做什么的?我应该在这里放什么形状?
  3. optimize_for_inference库不存在了吗?

python macos bash tensorflow

5
推荐指数
1
解决办法
1259
查看次数

4
推荐指数
2
解决办法
4854
查看次数

2
推荐指数
1
解决办法
2350
查看次数

tf.split的输出是什么?

假设我有这个:

TensorShape([Dimension(None),Dimension(32)])

我在这个张量_X上使用tf.split,其尺寸如上:

_X = tf.split(_X, 128, 0) 
Run Code Online (Sandbox Code Playgroud)

这种新张量的形状是什么?输出是一个列表,因此很难知道这个新张量的形状.

python arrays tensorflow tensor

2
推荐指数
2
解决办法
6990
查看次数