标签: tensorflow-slim

解释张量板图

我仍然是新手,tensorflow我正在努力了解在我的模特训练继续进行时细节上发生了什么.简单地说,我使用的是slim预训练的模型ImageNetfinetuning我的数据集.以下是从张量板中提取的2个独立模型的一些图:

Model_1 (InceptionResnet_V2)
Run Code Online (Sandbox Code Playgroud)

初始resnet V2

Model_2 (InceptionV4)
Run Code Online (Sandbox Code Playgroud)

InceptionV4

到目前为止,两种模型在验证集上的结果都很差(平均Az(ROC曲线下的面积)= 0.7,而Model_10.79为Model_2).我对这些图的解释是,重量不会随着小批量而变化.它只是改变迷你批次的偏见,这可能是问题所在.但我不知道在哪里验证这一点.这是我能想到的唯一解释,但考虑到我还是新手,这可能是错误的.你能和我分享一下你的想法吗?如有需要,请不要犹豫,要求更多地块.

编辑: 正如您在下面的图表中看到的那样,权重似乎随着时间的推移几乎没有变化.这适用于两个网络的所有其他权重.这让我认为某处存在问题,但不知道如何解释它.

InceptionV4 weights
Run Code Online (Sandbox Code Playgroud)

InceptionV4重量

InceptionResnetV2 weights
Run Code Online (Sandbox Code Playgroud)

InceptionResnetV2权重

EDIT2: 这些模型首先在ImageNet上训练,这些图是在我的数据集上微调它们的结果.我正在使用19个类的数据集,其中包含大约800000个图像.我正在做一个多标签分类问题,我正在使用sigmoid_crossentropy作为丢失函数.这些课程非常不平衡.在下表中,我们显示了2个子集中每个类的存在百分比(训练,验证):

Objects     train       validation
obj_1       3.9832 %    0.0000 %
obj_2       70.6678 %   33.3253 %
obj_3       89.9084 %   98.5371 %
obj_4       85.6781 %   81.4631 %
obj_5       92.7638 %   71.4327 %
obj_6       99.9690 %   100.0000 %
obj_7       90.5899 %   96.1605 %
obj_8       77.1223 %   91.8368 %
obj_9       94.6200 %   98.8323 %
obj_10      88.2051 %   95.0989 % …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorboard tensorflow-slim

10
推荐指数
1
解决办法
994
查看次数

tf object detection api - 为每个检测 bbox 提取特征向量

我正在使用 Tensorflow 对象检测 API 并研究 pretrainedd ssd-mobilenet 模型。有没有办法为每个 bbox 提取移动网络的最后一个全局池作为特征向量?我找不到保存此信息的操作的名称。

我已经能够根据 github 上的示例提取检测标签和 bbox:

 image_tensor = detection_graph.get_tensor_by_name( 'image_tensor:0' )
 # Each box represents a part of the image where a particular object was detected.
 detection_boxes = detection_graph.get_tensor_by_name( 'detection_boxes:0' )
 # Each score represent how level of confidence for each of the objects.
 # Score is shown on the result image, together with the class label.
 detection_scores = detection_graph.get_tensor_by_name( 'detection_scores:0' )
 detection_classes = detection_graph.get_tensor_by_name( 'detection_classes:0' )
 num_detections = detection_graph.get_tensor_by_name( 'num_detections:0' ) …
Run Code Online (Sandbox Code Playgroud)

object-detection tensorflow object-detection-api tensorflow-slim

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

如何在 tensorflow tfrecords 中增加数据?

我使用 tfrecords 存储我的数据,我使用DatasetAPI作为张量读取它们,然后我使用EstimatorAPI 进行训练。现在,我想对数据集中的每个项目进行在线数据增强,但尝试了一段时间后,我找不到办法做到这一点。我想要随机翻转,随机旋转和其他操纵器。

我正在按照教程中给出的说明使用自定义估计器,这是我的 CNN,但我不确定数据增强步骤发生在哪里。

deep-learning tensorflow tensorflow-slim tensorflow-datasets tensorflow-estimator

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

TF Slim:在自定义数据集上微调mobilenet v2

我正在尝试在用于图像分类任务的自定义数据集上微调Mobilenet_v2_1.4_224模型。我正在关注本教程TensorFlow-Slim图像分类库。我已经创建了.tfrecord训练和验证文件。当我尝试从现有检查点进行微调时,出现以下错误:

InvalidArgumentError(请参阅上面的回溯):Assign需要两个张量的形状匹配。lhs shape = [1,1,24,144] rhs shape = [1,1,32,192] [[节点:save / Assign_149 =分配[T = DT_FLOAT,_class = [“ loc:@ MobilenetV2 / expanded_conv_2 / expand / weights”] ,use_locking = true,validate_shape = true,_device =“ / job:localhost / replica:0 / task:0 / device:CPU:0”](MobilenetV2 / expanded_conv_2 / expand / weights,保存/恢复V2:149)]]

我使用的微调脚本是:

DATASET_DIR = G:\数据集

TRAIN_DIR = G:\ Dataset \ emotion-models \ mobilenet_v2

CHECKPOINT_PATH = C:\ Users \ lenovo \ Desktop \ mobilenet_v2 \ mobilenet_v2_1.4_224.ckpt

python train_image_classifier.py \
--train_dir=${TRAIN_DIR} \
--dataset_dir=${DATASET_DIR} \ …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-slim

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