Giter Club home page Giter Club logo

fots.pytorch's Issues

RuntimeError:set_storage is not allowed on Tensor created from .data or .detach()

This is my config.json
{
"name": "FOTS",
"cuda": true,
"gpus": [0,1,2,3],
"data_loader": {
"dataset":"icdar2015",
"data_dir": "./text_data/2015/training",
"batch_size": 24,
"shuffle": true,
"workers": 4
},
"validation": {
"validation_split": 0.2,
"shuffle": true
},
"lr_scheduler_type": "",
"lr_scheduler_freq": 10000,
"lr_scheduler": {
"gamma": 0.94
},

"optimizer_type": "Adam",
"optimizer": {
    "lr": 0.001
},
"loss": "FOTSLoss",
"metrics": ["fots_metric"],
"trainer": {
    "epochs": 1000,
    "save_dir": "saved/",
    "save_freq": 1,
    "verbosity": 2,
    "monitor": "hmean",
    "monitor_mode": "max"
},
"arch": "FOTSModel",
"model": {
    "mode": "united"
}

}
who can tell me?

检测部分测试效果?

想请问一下,你的EAST是基于pytorch的那个复现版本吗?还是tensorflow?
目前的测试效果如何呢?

加载模型出错:Missing key和Unexpected key

加载训练的模型,报错:
Traceback (most recent call last): File "eval.py", line 65, in <module> main(args) File "eval.py", line 44, in main model = load_model(model_path, with_gpu) File "eval.py", line 31, in load_model model.load_state_dict(state_dict) File "/home/guest01/.conda/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 769, in load_state_dict self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for DataParallel: Missing key(s) in state_dict: xxxxxxxxxxx Unexpected key(s) in state_dict: xxxxxxxxxxx
截取部分如下:
missingkey
unexpectkey

请问这两个错误可能是什么原因呢?

RuntimeError: Error(s) in loading state_dict for FOTSModel

RuntimeError: Error(s) in loading state_dict for FOTSModel:
Missing key(s) in state_dict: "sharedConv.backbone.conv1.weight", "sharedConv.backbone.bn1.weight", "sharedConv.backbone.bn1.bias", "sharedConv.backbone.bn1.running_mean", "sharedConv.backbone.bn1.running_var", "sharedConv.backbone.layer1.0.conv1.weight", "sharedConv.backbone.layer1.0.bn1.weight", "sharedConv.backbone.layer1.0.bn1.bias", "sharedConv.backbone.layer1.0.bn1.running_mean", "sharedConv.backbone.layer1.0.bn1.running_var", "sharedConv.backbone.layer1.0.conv2.weight", "sharedConv.backbone.layer1.0.bn2.weight", "sharedConv.backbone.layer1.0.bn2.bias", "sharedConv.backbone.layer1.0.bn2.running_mean", "sharedConv.backbone.layer1.0.bn2.running_var", "sharedConv.backbone.layer1.0.conv3.weight", "sharedConv.backbone.layer1.0.bn3.weight", "sharedConv.backbone.layer1.0.bn3.bias", "sharedConv.backbone.layer1.0.bn3.running_mean", "sharedConv.backbone.layer1.0.bn3.running_var", "sharedConv.backbone.layer1.0.downsample.0.weight", "sharedConv.backbone.layer1.0.downsample.1.weight", "sharedConv.backbone.layer1.0.downsample.1.bias", "sharedConv.backbone.layer1.0.downsample.1.running_mean", "sharedConv.backbone.layer1.0.downsample.1.running_var", "sharedConv.backbone.layer1.1.conv1.weight", "sharedConv.backbone.layer1.1.bn1.weight", "sharedConv.backbone.layer1.1.bn1.bias", "sharedConv.backbone.layer1.1.bn1.running_mean", "sharedConv.backbone.layer1.1.bn1.running_var", "sharedConv.backbone.layer1.1.conv2.weight", "sharedConv.backbone.layer1.1.bn2.weight", "sharedConv.backbone.layer1.1.bn2.bias", "sharedConv.backbone.layer1.1.bn2.running_mean", "sharedConv.backbone.layer1.1.bn2.running_var", "sharedConv.backbone.layer1.1.conv3.weight", "sharedConv.backbone.layer1.1.bn3.weight", "sharedConv.backbone.layer1.1.bn3.bias", "sharedConv.backbone.layer1.1.bn3.running_mean", "sharedConv.backbone.layer1.1.bn3.running_var", "sharedConv.backbone.layer1.2.conv1.weight", "sharedConv.backbone.layer1.2.bn1.weight", "sharedConv.backbone.layer1.2.bn1.bias", "sharedConv.backbone.layer1.2.bn1.running_mean", "sharedConv.backbone.layer1.2.bn1.running_var", "sharedConv.backbone.layer1.2.conv2.weight", "sharedConv.backbone.layer1.2.bn2.weight", "sharedConv.backbone.layer1.2.bn2.bias", "sharedConv.backbone.layer1.2.bn2.running_mean", "sharedConv.backbone.layer1.2.bn2.running_var", "sharedConv.backbone.layer1.2.conv3.weight", "sharedConv.backbone.layer1.2.bn3.weight", "sharedConv.backbone.layer1.2.bn3.bias", "sharedConv.backbone.layer1.2.bn3.running_mean", "sharedConv.backbone.layer1.2.bn3.running_var", "sharedConv.backbone.layer2.0.conv1.weight", "sharedConv.backbone.layer2.0.bn1.weight", "sharedConv.backbone.layer2.0.bn1.bias", "sharedConv.backbone.layer2.0.bn1.running_mean", "sharedConv.backbone.layer2.0.bn1.running_var", "sharedConv.backbone.layer2.0.conv2.weight", "sharedConv.backbone.layer2.0.bn2.weight", "sharedConv.backbone.layer2.0.bn2.bias", "sharedConv.backbone.layer2.0.bn2.running_mean", "sharedConv.backbone.layer2.0.bn2.running_var", "sharedConv.backbone.layer2.0.conv3.weight", "sharedConv.backbone.layer2.0.bn3.weight", "sharedConv.backbone.layer2.0.bn3.bias", "sharedConv.backbone.layer2.0.bn3.running_mean", "sharedConv.backbone.layer2.0.bn3.running_var", "sharedConv.backbone.layer2.0.downsample.0.weight", "sharedConv.backbone.layer2.0.downsample.1.weight", "sharedConv.backbone.layer2.0.downsample.1.bias", "sharedConv.backbone.layer2.0.downsample.1.running_mean", "sharedConv.backbone.layer2.0.downsample.1.running_var", "sharedConv.backbone.layer2.1.conv1.weight", "sharedConv.backbone.layer2.1.bn1.weight", "sharedConv.backbone.layer2.1.bn1.bias", "sharedConv.backbone.layer2.1.bn1.running_mean", "sharedConv.backbone.layer2.1.bn1.running_var", "sharedConv.backbone.layer2.1.conv2.weight", "sharedConv.backbone.layer2.1.bn2.weight", "sharedConv.backbone.layer2.1.bn2.bias", "sharedConv.backbone.layer2.1.bn2.running_mean", "sharedConv.backbone.layer2.1.bn2.running_var", "sharedConv.backbone.layer2.1.conv3.weight", "sharedConv.backbone.layer2.1.bn3.weight", "sharedConv.backbone.layer2.1.bn3.bias", "sharedConv.backbone.layer2.1.bn3.running_mean", "sharedConv.backbone.layer2.1.bn3.running_var", "sharedConv.backbone.layer2.2.conv1.weight", "sharedConv.backbone.layer2.2.bn1.weight", "sharedConv.backbone.layer2.2.bn1.bias", "sharedConv.backbone.layer2.2.bn1.running_mean", "sharedConv.backbone.layer2.2.bn1.running_var", "sharedConv.backbone.layer2.2.conv2.weight", "sharedConv.backbone.layer2.2.bn2.weight", "sharedConv.backbone.layer2.2.bn2.bias", "sharedConv.backbone.layer2.2.bn2.running_mean", "sharedConv.backbone.layer2.2.bn2.running_var", "sharedConv.backbone.layer2.2.conv3.weight", "sharedConv.backbone.layer2.2.bn3.weight", "sharedConv.backbone.layer2.2.bn3.bias", "sharedConv.backbone.layer2.2.bn3.running_mean", "sharedConv.backbone.layer2.2.bn3.running_var", "sharedConv.backbone.layer2.3.conv1.weight", "sharedConv.backbone.layer2.3.bn1.weight", "sharedConv.backbone.layer2.3.bn1.bias", "sharedConv.backbone.layer2.3.bn1.running_mean", "sharedConv.backbone.layer2.3.bn1.running_var", "sharedConv.backbone.layer2.3.conv2.weight", "sharedConv.backbone.layer2.3.bn2.weight", "sharedConv.backbone.layer2.3.bn2.bias", "sharedConv.backbone.layer2.3.bn2.running_mean", "sharedConv.backbone.layer2.3.bn2.running_var", "sharedConv.backbone.layer2.3.conv3.weight", "sharedConv.backbone.layer2.3.bn3.weight", "sharedConv.backbone.layer2.3.bn3.bias", "sharedConv.backbone.layer2.3.bn3.running_mean", "sharedConv.backbone.layer2.3.bn3.running_var", "sharedConv.backbone.layer3.0.conv1.weight", "sharedConv.backbone.layer3.0.bn1.weight", "sharedConv.backbone.layer3.0.bn1.bias", "sharedConv.backbone.layer3.0.bn1.running_mean", "sharedConv.backbone.layer3.0.bn1.running_var", "sharedConv.backbone.layer3.0.conv2.weight", "sharedConv.backbone.layer3.0.bn2.weight", "sharedConv.backbone.layer3.0.bn2.bias", "sharedConv.backbone.layer3.0.bn2.running_mean", "sharedConv.backbone.layer3.0.bn2.running_var", "sharedConv.backbone.layer3.0.conv3.weight", "sharedConv.backbone.layer3.0.bn3.weight", "sharedConv.backbone.layer3.0.bn3.bias", "sharedConv.backbone.layer3.0.bn3.running_mean", "sharedConv.backbone.layer3.0.bn3.running_var", "sharedConv.backbone.layer3.0.downsample.0.weight", "sharedConv.backbone.layer3.0.downsample.1.weight", "sharedConv.backbone.layer3.0.downsample.1.bias", "sharedConv.backbone.layer3.0.downsample.1.running_mean", "sharedConv.backbone.layer3.0.downsample.1.running_var", "sharedConv.backbone.layer3.1.conv1.weight", "sharedConv.backbone.layer3.1.bn1.weight", "sharedConv.backbone.layer3.1.bn1.bias", "sharedConv.backbone.layer3.1.bn1.running_mean", "sharedConv.backbone.layer3.1.bn1.running_var", "sharedConv.backbone.layer3.1.conv2.weight", "sharedConv.backbone.layer3.1.bn2.weight", "sharedConv.backbone.layer3.1.bn2.bias", "sharedConv.backbone.layer3.1.bn2.running_mean", "sharedConv.backbone.layer3.1.bn2.running_var", "sharedConv.backbone.layer3.1.conv3.weight", "sharedConv.backbone.layer3.1.bn3.weight", "sharedConv.backbone.layer3.1.bn3.bias", "sharedConv.backbone.layer3.1.bn3.running_mean", "sharedConv.backbone.layer3.1.bn3.running_var", "sharedConv.backbone.layer3.2.conv1.weight", "sharedConv.backbone.layer3.2.bn1.weight", "sharedConv.backbone.layer3.2.bn1.bias", "sharedConv.backbone.layer3.2.bn1.running_mean", "sharedConv.backbone.layer3.2.bn1.running_var", "sharedConv.backbone.layer3.2.conv2.weight", "sharedConv.backbone.layer3.2.bn2.weight", "sharedConv.backbone.layer3.2.bn2.bias", "sharedConv.backbone.layer3.2.bn2.running_mean", "sharedConv.backbone.layer3.2.bn2.running_var", "sharedConv.backbone.layer3.2.conv3.weight", "sharedConv.backbone.layer3.2.bn3.weight", "sharedConv.backbone.layer3.2.bn3.bias", "sharedConv.backbone.layer3.2.bn3.running_mean", "sharedConv.backbone.layer3.2.bn3.running_var", "sharedConv.backbone.layer3.3.conv1.weight", "sharedConv.backbone.layer3.3.bn1.weight", "sharedConv.backbone.layer3.3.bn1.bias", "sharedConv.backbone.layer3.3.bn1.running_mean", "sharedConv.backbone.layer3.3.bn1.running_var", "sharedConv.backbone.layer3.3.conv2.weight", "sharedConv.backbone.layer3.3.bn2.weight", "sharedConv.backbone.layer3.3.bn2.bias", "sharedConv.backbone.layer3.3.bn2.running_mean", "sharedConv.backbone.layer3.3.bn2.running_var", "sharedConv.backbone.layer3.3.conv3.weight", "sharedConv.backbone.layer3.3.bn3.weight", "sharedConv.backbone.layer3.3.bn3.bias", "sharedConv.backbone.layer3.3.bn3.running_mean", "sharedConv.backbone.layer3.3.bn3.running_var", "sharedConv.backbone.layer3.4.conv1.weight", "sharedConv.backbone.layer3.4.bn1.weight", "sharedConv.backbone.layer3.4.bn1.bias", "sharedConv.backbone.layer3.4.bn1.running_mean", "sharedConv.backbone.layer3.4.bn1.running_var", "sharedConv.backbone.layer3.4.conv2.weight", "sharedConv.backbone.layer3.4.bn2.weight", "sharedConv.backbone.layer3.4.bn2.bias", "sharedConv.backbone.layer3.4.bn2.running_mean", "sharedConv.backbone.layer3.4.bn2.running_var", "sharedConv.backbone.layer3.4.conv3.weight", "sharedConv.backbone.layer3.4.bn3.weight", "sharedConv.backbone.layer3.4.bn3.bias", "sharedConv.backbone.layer3.4.bn3.running_mean", "sharedConv.backbone.layer3.4.bn3.running_var", "sharedConv.backbone.layer3.5.conv1.weight", "sharedConv.backbone.layer3.5.bn1.weight", "sharedConv.backbone.layer3.5.bn1.bias", "sharedConv.backbone.layer3.5.bn1.running_mean", "sharedConv.backbone.layer3.5.bn1.running_var", "sharedConv.backbone.layer3.5.conv2.weight", "sharedConv.backbone.layer3.5.bn2.weight", "sharedConv.backbone.layer3.5.bn2.bias", "sharedConv.backbone.layer3.5.bn2.running_mean", "sharedConv.backbone.layer3.5.bn2.running_var", "sharedConv.backbone.layer3.5.conv3.weight", "sharedConv.backbone.layer3.5.bn3.weight", "sharedConv.backbone.layer3.5.bn3.bias", "sharedConv.backbone.layer3.5.bn3.running_mean", "sharedConv.backbone.layer3.5.bn3.running_var", "sharedConv.backbone.layer4.0.conv1.weight", "sharedConv.backbone.layer4.0.bn1.weight", "sharedConv.backbone.layer4.0.bn1.bias", "sharedConv.backbone.layer4.0.bn1.running_mean", "sharedConv.backbone.layer4.0.bn1.running_var", "sharedConv.backbone.layer4.0.conv2.weight", "sharedConv.backbone.layer4.0.bn2.weight", "sharedConv.backbone.layer4.0.bn2.bias", "sharedConv.backbone.layer4.0.bn2.running_mean", "sharedConv.backbone.layer4.0.bn2.running_var", "sharedConv.backbone.layer4.0.conv3.weight", "sharedConv.backbone.layer4.0.bn3.weight", "sharedConv.backbone.layer4.0.bn3.bias", "sharedConv.backbone.layer4.0.bn3.running_mean", "sharedConv.backbone.layer4.0.bn3.running_var", "sharedConv.backbone.layer4.0.downsample.0.weight", "sharedConv.backbone.layer4.0.downsample.1.weight", "sharedConv.backbone.layer4.0.downsample.1.bias", "sharedConv.backbone.layer4.0.downsample.1.running_mean", "sharedConv.backbone.layer4.0.downsample.1.running_var", "sharedConv.backbone.layer4.1.conv1.weight", "sharedConv.backbone.layer4.1.bn1.weight", "sharedConv.backbone.layer4.1.bn1.bias", "sharedConv.backbone.layer4.1.bn1.running_mean", "sharedConv.backbone.layer4.1.bn1.running_var", "sharedConv.backbone.layer4.1.conv2.weight", "sharedConv.backbone.layer4.1.bn2.weight", "sharedConv.backbone.layer4.1.bn2.bias", "sharedConv.backbone.layer4.1.bn2.running_mean", "sharedConv.backbone.layer4.1.bn2.running_var", "sharedConv.backbone.layer4.1.conv3.weight", "sharedConv.backbone.layer4.1.bn3.weight", "sharedConv.backbone.layer4.1.bn3.bias", "sharedConv.backbone.layer4.1.bn3.running_mean", "sharedConv.backbone.layer4.1.bn3.running_var", "sharedConv.backbone.layer4.2.conv1.weight", "sharedConv.backbone.layer4.2.bn1.weight", "sharedConv.backbone.layer4.2.bn1.bias", "sharedConv.backbone.layer4.2.bn1.running_mean", "sharedConv.backbone.layer4.2.bn1.running_var", "sharedConv.backbone.layer4.2.conv2.weight", "sharedConv.backbone.layer4.2.bn2.weight", "sharedConv.backbone.layer4.2.bn2.bias", "sharedConv.backbone.layer4.2.bn2.running_mean", "sharedConv.backbone.layer4.2.bn2.running_var", "sharedConv.backbone.layer4.2.conv3.weight", "sharedConv.backbone.layer4.2.bn3.weight", "sharedConv.backbone.layer4.2.bn3.bias", "sharedConv.backbone.layer4.2.bn3.running_mean", "sharedConv.backbone.layer4.2.bn3.running_var", "sharedConv.backbone.last_linear.weight", "sharedConv.backbone.last_linear.bias", "sharedConv.mergeLayers1.conv2dOne.weight", "sharedConv.mergeLayers1.conv2dOne.bias", "sharedConv.mergeLayers1.bnOne.weight", "sharedConv.mergeLayers1.bnOne.bias", "sharedConv.mergeLayers1.bnOne.running_mean", "sharedConv.mergeLayers1.bnOne.running_var", "sharedConv.mergeLayers1.conv2dTwo.weight", "sharedConv.mergeLayers1.conv2dTwo.bias", "sharedConv.mergeLayers1.bnTwo.weight", "sharedConv.mergeLayers1.bnTwo.bias", "sharedConv.mergeLayers1.bnTwo.running_mean", "sharedConv.mergeLayers1.bnTwo.running_var", "sharedConv.mergeLayers2.conv2dOne.weight", "sharedConv.mergeLayers2.conv2dOne.bias", "sharedConv.mergeLayers2.bnOne.weight", "sharedConv.mergeLayers2.bnOne.bias", "sharedConv.mergeLayers2.bnOne.running_mean", "sharedConv.mergeLayers2.bnOne.running_var", "sharedConv.mergeLayers2.conv2dTwo.weight", "sharedConv.mergeLayers2.conv2dTwo.bias", "sharedConv.mergeLayers2.bnTwo.weight", "sharedConv.mergeLayers2.bnTwo.bias", "sharedConv.mergeLayers2.bnTwo.running_mean", "sharedConv.mergeLayers2.bnTwo.running_var", "sharedConv.mergeLayers3.conv2dOne.weight", "sharedConv.mergeLayers3.conv2dOne.bias", "sharedConv.mergeLayers3.bnOne.weight", "sharedConv.mergeLayers3.bnOne.bias", "sharedConv.mergeLayers3.bnOne.running_mean", "sharedConv.mergeLayers3.bnOne.running_var", "sharedConv.mergeLayers3.conv2dTwo.weight", "sharedConv.mergeLayers3.conv2dTwo.bias", "sharedConv.mergeLayers3.bnTwo.weight", "sharedConv.mergeLayers3.bnTwo.bias", "sharedConv.mergeLayers3.bnTwo.running_mean", "sharedConv.mergeLayers3.bnTwo.running_var", "sharedConv.mergeLayers4.weight", "sharedConv.mergeLayers4.bias", "sharedConv.bn5.weight", "sharedConv.bn5.bias", "sharedConv.bn5.running_mean", "sharedConv.bn5.running_var", "sharedConv.scoreMap.weight", "sharedConv.scoreMap.bias", "sharedConv.geoMap.weight", "sharedConv.geoMap.bias", "sharedConv.angleMap.weight", "sharedConv.angleMap.bias".
Unexpected key(s) in state_dict: "module.sharedConv.backbone.conv1.weight", "module.sharedConv.backbone.bn1.weight", "module.sharedConv.backbone.bn1.bias", "module.sharedConv.backbone.bn1.running_mean", "module.sharedConv.backbone.bn1.running_var", "module.sharedConv.backbone.bn1.num_batches_tracked", "module.sharedConv.backbone.layer1.0.conv1.weight", "module.sharedConv.backbone.layer1.0.bn1.weight", "module.sharedConv.backbone.layer1.0.bn1.bias", "module.sharedConv.backbone.layer1.0.bn1.running_mean", "module.sharedConv.backbone.layer1.0.bn1.running_var", "module.sharedConv.backbone.layer1.0.bn1.num_batches_tracked", "module.sharedConv.backbone.layer1.0.conv2.weight", "module.sharedConv.backbone.layer1.0.bn2.weight", "module.sharedConv.backbone.layer1.0.bn2.bias", "module.sharedConv.backbone.layer1.0.bn2.running_mean", "module.sharedConv.backbone.layer1.0.bn2.running_var", "module.sharedConv.backbone.layer1.0.bn2.num_batches_tracked", "module.sharedConv.backbone.layer1.0.conv3.weight", "module.sharedConv.backbone.layer1.0.bn3.weight", "module.sharedConv.backbone.layer1.0.bn3.bias", "module.sharedConv.backbone.layer1.0.bn3.running_mean", "module.sharedConv.backbone.layer1.0.bn3.running_var", "module.sharedConv.backbone.layer1.0.bn3.num_batches_tracked", "module.sharedConv.backbone.layer1.0.downsample.0.weight", "module.sharedConv.backbone.layer1.0.downsample.1.weight", "module.sharedConv.backbone.layer1.0.downsample.1.bias", "module.sharedConv.backbone.layer1.0.downsample.1.running_mean", "module.sharedConv.backbone.layer1.0.downsample.1.running_var", "module.sharedConv.backbone.layer1.0.downsample.1.num_batches_tracked", "module.sharedConv.backbone.layer1.1.conv1.weight", "module.sharedConv.backbone.layer1.1.bn1.weight", "module.sharedConv.backbone.layer1.1.bn1.bias", "module.sharedConv.backbone.layer1.1.bn1.running_mean", "module.sharedConv.backbone.layer1.1.bn1.running_var", "module.sharedConv.backbone.layer1.1.bn1.num_batches_tracked", "module.sharedConv.backbone.layer1.1.conv2.weight", "module.sharedConv.backbone.layer1.1.bn2.weight", "module.sharedConv.backbone.layer1.1.bn2.bias", "module.sharedConv.backbone.layer1.1.bn2.running_mean", "module.sharedConv.backbone.layer1.1.bn2.running_var", "module.sharedConv.backbone.layer1.1.bn2.num_batches_tracked", "module.sharedConv.backbone.layer1.1.conv3.weight", "module.sharedConv.backbone.layer1.1.bn3.weight", "module.sharedConv.backbone.layer1.1.bn3.bias", "module.sharedConv.backbone.layer1.1.bn3.running_mean", "module.sharedConv.backbone.layer1.1.bn3.running_var", "module.sharedConv.backbone.layer1.1.bn3.num_batches_tracked", "module.sharedConv.backbone.layer1.2.conv1.weight", "module.sharedConv.backbone.layer1.2.bn1.weight", "module.sharedConv.backbone.layer1.2.bn1.bias", "module.sharedConv.backbone.layer1.2.bn1.running_mean", "module.sharedConv.backbone.layer1.2.bn1.running_var", "module.sharedConv.backbone.layer1.2.bn1.num_batches_tracked", "module.sharedConv.backbone.layer1.2.conv2.weight", "module.sharedConv.backbone.layer1.2.bn2.weight", "module.sharedConv.backbone.layer1.2.bn2.bias", "module.sharedConv.backbone.layer1.2.bn2.running_mean", "module.sharedConv.backbone.layer1.2.bn2.running_var", "module.sharedConv.backbone.layer1.2.bn2.num_batches_tracked", "module.sharedConv.backbone.layer1.2.conv3.weight", "module.sharedConv.backbone.layer1.2.bn3.weight", "module.sharedConv.backbone.layer1.2.bn3.bias", "module.sharedConv.backbone.layer1.2.bn3.running_mean", "module.sharedConv.backbone.layer1.2.bn3.running_var", "module.sharedConv.backbone.layer1.2.bn3.num_batches_tracked", "module.sharedConv.backbone.layer2.0.conv1.weight", "module.sharedConv.backbone.layer2.0.bn1.weight", "module.sharedConv.backbone.layer2.0.bn1.bias", "module.sharedConv.backbone.layer2.0.bn1.running_mean", "module.sharedConv.backbone.layer2.0.bn1.running_var", "module.sharedConv.backbone.layer2.0.bn1.num_batches_tracked", "module.sharedConv.backbone.layer2.0.conv2.weight", "module.sharedConv.backbone.layer2.0.bn2.weight", "module.sharedConv.backbone.layer2.0.bn2.bias", "module.sharedConv.backbone.layer2.0.bn2.running_mean", "module.sharedConv.backbone.layer2.0.bn2.running_var", "module.sharedConv.backbone.layer2.0.bn2.num_batches_tracked", "module.sharedConv.backbone.layer2.0.conv3.weight", "module.sharedConv.backbone.layer2.0.bn3.weight", "module.sharedConv.backbone.layer2.0.bn3.bias", "module.sharedConv.backbone.layer2.0.bn3.running_mean", "module.sharedConv.backbone.layer2.0.bn3.running_var", "module.sharedConv.backbone.layer2.0.bn3.num_batches_tracked", "module.sharedConv.backbone.layer2.0.downsample.0.weight", "module.sharedConv.backbone.layer2.0.downsample.1.weight", "module.sharedConv.backbone.layer2.0.downsample.1.bias", "module.sharedConv.backbone.layer2.0.downsample.1.running_mean", "module.sharedConv.backbone.layer2.0.downsample.1.running_var", "module.sharedConv.backbone.layer2.0.downsample.1.num_batches_tracked", "module.sharedConv.backbone.layer2.1.conv1.weight", "module.sharedConv.backbone.layer2.1.bn1.weight", "module.sharedConv.backbone.layer2.1.bn1.bias", "module.sharedConv.backbone.layer2.1.bn1.running_mean", "module.sharedConv.backbone.layer2.1.bn1.running_var", "module.sharedConv.backbone.layer2.1.bn1.num_batches_tracked", "module.sharedConv.backbone.layer2.1.conv2.weight", "module.sharedConv.backbone.layer2.1.bn2.weight", "module.sharedConv.backbone.layer2.1.bn2.bias", "module.sharedConv.backbone.layer2.1.bn2.running_mean", "module.sharedConv.backbone.layer2.1.bn2.running_var", "module.sharedConv.backbone.layer2.1.bn2.num_batches_tracked", "module.sharedConv.backbone.layer2.1.conv3.weight", "module.sharedConv.backbone.layer2.1.bn3.weight", "module.sharedConv.backbone.layer2.1.bn3.bias", "module.sharedConv.backbone.layer2.1.bn3.running_mean", "module.sharedConv.backbone.layer2.1.bn3.running_var", "module.sharedConv.backbone.layer2.1.bn3.num_batches_tracked", "module.sharedConv.backbone.layer2.2.conv1.weight", "module.sharedConv.backbone.layer2.2.bn1.weight", "module.sharedConv.backbone.layer2.2.bn1.bias", "module.sharedConv.backbone.layer2.2.bn1.running_mean", "module.sharedConv.backbone.layer2.2.bn1.running_var", "module.sharedConv.backbone.layer2.2.bn1.num_batches_tracked", "module.sharedConv.backbone.layer2.2.conv2.weight", "module.sharedConv.backbone.layer2.2.bn2.weight", "module.sharedConv.backbone.layer2.2.bn2.bias", "module.sharedConv.backbone.layer2.2.bn2.running_mean", "module.sharedConv.backbone.layer2.2.bn2.running_var", "module.sharedConv.backbone.layer2.2.bn2.num_batches_tracked", "module.sharedConv.backbone.layer2.2.conv3.weight", "module.sharedConv.backbone.layer2.2.bn3.weight", "module.sharedConv.backbone.layer2.2.bn3.bias", "module.sharedConv.backbone.layer2.2.bn3.running_mean", "module.sharedConv.backbone.layer2.2.bn3.running_var", "module.sharedConv.backbone.layer2.2.bn3.num_batches_tracked", "module.sharedConv.backbone.layer2.3.conv1.weight", "module.sharedConv.backbone.layer2.3.bn1.weight", "module.sharedConv.backbone.layer2.3.bn1.bias", "module.sharedConv.backbone.layer2.3.bn1.running_mean", "module.sharedConv.backbone.layer2.3.bn1.running_var", "module.sharedConv.backbone.layer2.3.bn1.num_batches_tracked", "module.sharedConv.backbone.layer2.3.conv2.weight", "module.sharedConv.backbone.layer2.3.bn2.weight", "module.sharedConv.backbone.layer2.3.bn2.bias", "module.sharedConv.backbone.layer2.3.bn2.running_mean", "module.sharedConv.backbone.layer2.3.bn2.running_var", "module.sharedConv.backbone.layer2.3.bn2.num_batches_tracked", "module.sharedConv.backbone.layer2.3.conv3.weight", "module.sharedConv.backbone.layer2.3.bn3.weight", "module.sharedConv.backbone.layer2.3.bn3.bias", "module.sharedConv.backbone.layer2.3.bn3.running_mean", "module.sharedConv.backbone.layer2.3.bn3.running_var", "module.sharedConv.backbone.layer2.3.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.0.conv1.weight", "module.sharedConv.backbone.layer3.0.bn1.weight", "module.sharedConv.backbone.layer3.0.bn1.bias", "module.sharedConv.backbone.layer3.0.bn1.running_mean", "module.sharedConv.backbone.layer3.0.bn1.running_var", "module.sharedConv.backbone.layer3.0.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.0.conv2.weight", "module.sharedConv.backbone.layer3.0.bn2.weight", "module.sharedConv.backbone.layer3.0.bn2.bias", "module.sharedConv.backbone.layer3.0.bn2.running_mean", "module.sharedConv.backbone.layer3.0.bn2.running_var", "module.sharedConv.backbone.layer3.0.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.0.conv3.weight", "module.sharedConv.backbone.layer3.0.bn3.weight", "module.sharedConv.backbone.layer3.0.bn3.bias", "module.sharedConv.backbone.layer3.0.bn3.running_mean", "module.sharedConv.backbone.layer3.0.bn3.running_var", "module.sharedConv.backbone.layer3.0.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.0.downsample.0.weight", "module.sharedConv.backbone.layer3.0.downsample.1.weight", "module.sharedConv.backbone.layer3.0.downsample.1.bias", "module.sharedConv.backbone.layer3.0.downsample.1.running_mean", "module.sharedConv.backbone.layer3.0.downsample.1.running_var", "module.sharedConv.backbone.layer3.0.downsample.1.num_batches_tracked", "module.sharedConv.backbone.layer3.1.conv1.weight", "module.sharedConv.backbone.layer3.1.bn1.weight", "module.sharedConv.backbone.layer3.1.bn1.bias", "module.sharedConv.backbone.layer3.1.bn1.running_mean", "module.sharedConv.backbone.layer3.1.bn1.running_var", "module.sharedConv.backbone.layer3.1.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.1.conv2.weight", "module.sharedConv.backbone.layer3.1.bn2.weight", "module.sharedConv.backbone.layer3.1.bn2.bias", "module.sharedConv.backbone.layer3.1.bn2.running_mean", "module.sharedConv.backbone.layer3.1.bn2.running_var", "module.sharedConv.backbone.layer3.1.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.1.conv3.weight", "module.sharedConv.backbone.layer3.1.bn3.weight", "module.sharedConv.backbone.layer3.1.bn3.bias", "module.sharedConv.backbone.layer3.1.bn3.running_mean", "module.sharedConv.backbone.layer3.1.bn3.running_var", "module.sharedConv.backbone.layer3.1.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.2.conv1.weight", "module.sharedConv.backbone.layer3.2.bn1.weight", "module.sharedConv.backbone.layer3.2.bn1.bias", "module.sharedConv.backbone.layer3.2.bn1.running_mean", "module.sharedConv.backbone.layer3.2.bn1.running_var", "module.sharedConv.backbone.layer3.2.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.2.conv2.weight", "module.sharedConv.backbone.layer3.2.bn2.weight", "module.sharedConv.backbone.layer3.2.bn2.bias", "module.sharedConv.backbone.layer3.2.bn2.running_mean", "module.sharedConv.backbone.layer3.2.bn2.running_var", "module.sharedConv.backbone.layer3.2.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.2.conv3.weight", "module.sharedConv.backbone.layer3.2.bn3.weight", "module.sharedConv.backbone.layer3.2.bn3.bias", "module.sharedConv.backbone.layer3.2.bn3.running_mean", "module.sharedConv.backbone.layer3.2.bn3.running_var", "module.sharedConv.backbone.layer3.2.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.3.conv1.weight", "module.sharedConv.backbone.layer3.3.bn1.weight", "module.sharedConv.backbone.layer3.3.bn1.bias", "module.sharedConv.backbone.layer3.3.bn1.running_mean", "module.sharedConv.backbone.layer3.3.bn1.running_var", "module.sharedConv.backbone.layer3.3.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.3.conv2.weight", "module.sharedConv.backbone.layer3.3.bn2.weight", "module.sharedConv.backbone.layer3.3.bn2.bias", "module.sharedConv.backbone.layer3.3.bn2.running_mean", "module.sharedConv.backbone.layer3.3.bn2.running_var", "module.sharedConv.backbone.layer3.3.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.3.conv3.weight", "module.sharedConv.backbone.layer3.3.bn3.weight", "module.sharedConv.backbone.layer3.3.bn3.bias", "module.sharedConv.backbone.layer3.3.bn3.running_mean", "module.sharedConv.backbone.layer3.3.bn3.running_var", "module.sharedConv.backbone.layer3.3.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.4.conv1.weight", "module.sharedConv.backbone.layer3.4.bn1.weight", "module.sharedConv.backbone.layer3.4.bn1.bias", "module.sharedConv.backbone.layer3.4.bn1.running_mean", "module.sharedConv.backbone.layer3.4.bn1.running_var", "module.sharedConv.backbone.layer3.4.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.4.conv2.weight", "module.sharedConv.backbone.layer3.4.bn2.weight", "module.sharedConv.backbone.layer3.4.bn2.bias", "module.sharedConv.backbone.layer3.4.bn2.running_mean", "module.sharedConv.backbone.layer3.4.bn2.running_var", "module.sharedConv.backbone.layer3.4.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.4.conv3.weight", "module.sharedConv.backbone.layer3.4.bn3.weight", "module.sharedConv.backbone.layer3.4.bn3.bias", "module.sharedConv.backbone.layer3.4.bn3.running_mean", "module.sharedConv.backbone.layer3.4.bn3.running_var", "module.sharedConv.backbone.layer3.4.bn3.num_batches_tracked", "module.sharedConv.backbone.layer3.5.conv1.weight", "module.sharedConv.backbone.layer3.5.bn1.weight", "module.sharedConv.backbone.layer3.5.bn1.bias", "module.sharedConv.backbone.layer3.5.bn1.running_mean", "module.sharedConv.backbone.layer3.5.bn1.running_var", "module.sharedConv.backbone.layer3.5.bn1.num_batches_tracked", "module.sharedConv.backbone.layer3.5.conv2.weight", "module.sharedConv.backbone.layer3.5.bn2.weight", "module.sharedConv.backbone.layer3.5.bn2.bias", "module.sharedConv.backbone.layer3.5.bn2.running_mean", "module.sharedConv.backbone.layer3.5.bn2.running_var", "module.sharedConv.backbone.layer3.5.bn2.num_batches_tracked", "module.sharedConv.backbone.layer3.5.conv3.weight", "module.sharedConv.backbone.layer3.5.bn3.weight", "module.sharedConv.backbone.layer3.5.bn3.bias", "module.sharedConv.backbone.layer3.5.bn3.running_mean", "module.sharedConv.backbone.layer3.5.bn3.running_var", "module.sharedConv.backbone.layer3.5.bn3.num_batches_tracked", "module.sharedConv.backbone.layer4.0.conv1.weight", "module.sharedConv.backbone.layer4.0.bn1.weight", "module.sharedConv.backbone.layer4.0.bn1.bias", "module.sharedConv.backbone.layer4.0.bn1.running_mean", "module.sharedConv.backbone.layer4.0.bn1.running_var", "module.sharedConv.backbone.layer4.0.bn1.num_batches_tracked", "module.sharedConv.backbone.layer4.0.conv2.weight", "module.sharedConv.backbone.layer4.0.bn2.weight", "module.sharedConv.backbone.layer4.0.bn2.bias", "module.sharedConv.backbone.layer4.0.bn2.running_mean", "module.sharedConv.backbone.layer4.0.bn2.running_var", "module.sharedConv.backbone.layer4.0.bn2.num_batches_tracked", "module.sharedConv.backbone.layer4.0.conv3.weight", "module.sharedConv.backbone.layer4.0.bn3.weight", "module.sharedConv.backbone.layer4.0.bn3.bias", "module.sharedConv.backbone.layer4.0.bn3.running_mean", "module.sharedConv.backbone.layer4.0.bn3.running_var", "module.sharedConv.backbone.layer4.0.bn3.num_batches_tracked", "module.sharedConv.backbone.layer4.0.downsample.0.weight", "module.sharedConv.backbone.layer4.0.downsample.1.weight", "module.sharedConv.backbone.layer4.0.downsample.1.bias", "module.sharedConv.backbone.layer4.0.downsample.1.running_mean", "module.sharedConv.backbone.layer4.0.downsample.1.running_var", "module.sharedConv.backbone.layer4.0.downsample.1.num_batches_tracked", "module.sharedConv.backbone.layer4.1.conv1.weight", "module.sharedConv.backbone.layer4.1.bn1.weight", "module.sharedConv.backbone.layer4.1.bn1.bias", "module.sharedConv.backbone.layer4.1.bn1.running_mean", "module.sharedConv.backbone.layer4.1.bn1.running_var", "module.sharedConv.backbone.layer4.1.bn1.num_batches_tracked", "module.sharedConv.backbone.layer4.1.conv2.weight", "module.sharedConv.backbone.layer4.1.bn2.weight", "module.sharedConv.backbone.layer4.1.bn2.bias", "module.sharedConv.backbone.layer4.1.bn2.running_mean", "module.sharedConv.backbone.layer4.1.bn2.running_var", "module.sharedConv.backbone.layer4.1.bn2.num_batches_tracked", "module.sharedConv.backbone.layer4.1.conv3.weight", "module.sharedConv.backbone.layer4.1.bn3.weight", "module.sharedConv.backbone.layer4.1.bn3.bias", "module.sharedConv.backbone.layer4.1.bn3.running_mean", "module.sharedConv.backbone.layer4.1.bn3.running_var", "module.sharedConv.backbone.layer4.1.bn3.num_batches_tracked", "module.sharedConv.backbone.layer4.2.conv1.weight", "module.sharedConv.backbone.layer4.2.bn1.weight", "module.sharedConv.backbone.layer4.2.bn1.bias", "module.sharedConv.backbone.layer4.2.bn1.running_mean", "module.sharedConv.backbone.layer4.2.bn1.running_var", "module.sharedConv.backbone.layer4.2.bn1.num_batches_tracked", "module.sharedConv.backbone.layer4.2.conv2.weight", "module.sharedConv.backbone.layer4.2.bn2.weight", "module.sharedConv.backbone.layer4.2.bn2.bias", "module.sharedConv.backbone.layer4.2.bn2.running_mean", "module.sharedConv.backbone.layer4.2.bn2.running_var", "module.sharedConv.backbone.layer4.2.bn2.num_batches_tracked", "module.sharedConv.backbone.layer4.2.conv3.weight", "module.sharedConv.backbone.layer4.2.bn3.weight", "module.sharedConv.backbone.layer4.2.bn3.bias", "module.sharedConv.backbone.layer4.2.bn3.running_mean", "module.sharedConv.backbone.layer4.2.bn3.running_var", "module.sharedConv.backbone.layer4.2.bn3.num_batches_tracked", "module.sharedConv.backbone.last_linear.weight", "module.sharedConv.backbone.last_linear.bias", "module.sharedConv.mergeLayers1.conv2dOne.weight", "module.sharedConv.mergeLayers1.conv2dOne.bias", "module.sharedConv.mergeLayers1.bnOne.weight", "module.sharedConv.mergeLayers1.bnOne.bias", "module.sharedConv.mergeLayers1.bnOne.running_mean", "module.sharedConv.mergeLayers1.bnOne.running_var", "module.sharedConv.mergeLayers1.bnOne.num_batches_tracked", "module.sharedConv.mergeLayers1.conv2dTwo.weight", "module.sharedConv.mergeLayers1.conv2dTwo.bias", "module.sharedConv.mergeLayers1.bnTwo.weight", "module.sharedConv.mergeLayers1.bnTwo.bias", "module.sharedConv.mergeLayers1.bnTwo.running_mean", "module.sharedConv.mergeLayers1.bnTwo.running_var", "module.sharedConv.mergeLayers1.bnTwo.num_batches_tracked", "module.sharedConv.mergeLayers2.conv2dOne.weight", "module.sharedConv.mergeLayers2.conv2dOne.bias", "module.sharedConv.mergeLayers2.bnOne.weight", "module.sharedConv.mergeLayers2.bnOne.bias", "module.sharedConv.mergeLayers2.bnOne.running_mean", "module.sharedConv.mergeLayers2.bnOne.running_var", "module.sharedConv.mergeLayers2.bnOne.num_batches_tracked", "module.sharedConv.mergeLayers2.conv2dTwo.weight", "module.sharedConv.mergeLayers2.conv2dTwo.bias", "module.sharedConv.mergeLayers2.bnTwo.weight", "module.sharedConv.mergeLayers2.bnTwo.bias", "module.sharedConv.mergeLayers2.bnTwo.running_mean", "module.sharedConv.mergeLayers2.bnTwo.running_var", "module.sharedConv.mergeLayers2.bnTwo.num_batches_tracked", "module.sharedConv.mergeLayers3.conv2dOne.weight", "module.sharedConv.mergeLayers3.conv2dOne.bias", "module.sharedConv.mergeLayers3.bnOne.weight", "module.sharedConv.mergeLayers3.bnOne.bias", "module.sharedConv.mergeLayers3.bnOne.running_mean", "module.sharedConv.mergeLayers3.bnOne.running_var", "module.sharedConv.mergeLayers3.bnOne.num_batches_tracked", "module.sharedConv.mergeLayers3.conv2dTwo.weight", "module.sharedConv.mergeLayers3.conv2dTwo.bias", "module.sharedConv.mergeLayers3.bnTwo.weight", "module.sharedConv.mergeLayers3.bnTwo.bias", "module.sharedConv.mergeLayers3.bnTwo.running_mean", "module.sharedConv.mergeLayers3.bnTwo.running_var", "module.sharedConv.mergeLayers3.bnTwo.num_batches_tracked", "module.sharedConv.mergeLayers4.weight", "module.sharedConv.mergeLayers4.bias", "module.sharedConv.bn5.weight", "module.sharedConv.bn5.bias", "module.sharedConv.bn5.running_mean", "module.sharedConv.bn5.running_var", "module.sharedConv.bn5.num_batches_tracked", "module.sharedConv.scoreMap.weight", "module.sharedConv.scoreMap.bias", "module.sharedConv.geoMap.weight", "module.sharedConv.geoMap.bias", "module.sharedConv.angleMap.weight", "module.sharedConv.angleMap.bias".

请教一下ROIrotate部分的代码

不是很明白下面这个函数的作用,可以简单讲解一下吗?
def param2theta(param, w, h):
param = np.vstack([param, [0, 0, 1]])
param = np.linalg.inv(param)

    theta = np.zeros([2, 3])
    theta[0, 0] = param[0, 0]
    theta[0, 1] = param[0, 1] * h / w
    theta[0, 2] = param[0, 2] * 2 / w + theta[0, 0] + theta[0, 1] - 1
    theta[1, 0] = param[1, 0] * w / h
    theta[1, 1] = param[1, 1]
    theta[1, 2] = param[1, 2] * 2 / h + theta[1, 0] + theta[1, 1] - 1
    return theta

Which version of pytorch should be used?

Hello, I run the code with some error as follows, so may I know your version of pytorch?
`Memory Usage:
CUDA: 0 Allocated: 117.5244140625 MB Cached: 125.875 MB

Traceback (most recent call last):
File "train.py", line 76, in
main(config, args.resume)
File "train.py", line 50, in main
trainer.train()
File "/home/sam/TextDetection/FOTS.PyTorch/FOTS/base/base_trainer.py", line 78, in train
result = self._train_epoch(epoch)
File "/home/sam/TextDetection/FOTS.PyTorch/FOTS/trainer/trainer.py", line 59, in _train_epoch
for batch_idx, gt in enumerate(self.data_loader):
File "/usr/local/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 314, in next
batch = self.collate_fn([self.dataset[i] for i in indices])
File "/home/sam/TextDetection/FOTS.PyTorch/FOTS/data_loader/datautils.py", line 696, in collate_fn
a = torch.from_numpy(img[i])
RuntimeError: PyTorch was compiled without NumPy support`

ModuleNotFoundError: No module named 'pretrainedmodels'

python eval.py
Traceback (most recent call last):
File "eval.py", line 10, in
from model.model import FOTSModel
File "/Users/zakj/Desktop/work/detection_fots/model/model.py", line 6, in
import pretrainedmodels as pm
ModuleNotFoundError: No module named 'pretrainedmodels'

How do I add recognizer?

I could execute the detection function, but the recognizer appears to be empty. Could you tell me how do I add it?

det

这个训练多久才能有效果,我训练了20多个epoch,eval.py结果
image

SynthTextDataset augmentation fail

Hi.
I am trying to run training on synth800k. It fails in SynthTextDataset __transform method on the line rectangles = [rectangles[i] for i in selected_poly] with an error IndexError: list index out of range. This is required for the recognition branch.
Do you have any idea how to fix it?

Detection loss should not divide all element

In loss.py, detection loss is:
return torch.mean(L_g * y_true_cls * training_mask) + classification_loss
But I think the loss mean should divide only nonzero(y_true_cls * training_mask), so may be the loss should write as:
return torch.sum(L_g * y_true_cls * training_mask)/torch.nonzero(y_true_cls * training_mask).shape[0] + classification_loss

fots-tensorflow

我用tensorflow已经完成fots的编写,单独的检测和识别的分支训练效果都没问题,但是合并在一起训练效果就比较差,期待pytorch的实验结论~

Code state

Hi, great repo !

Judging from the code the implementation is not complete, for example the Recognizer class is still not implemented while being used here. In this issue response you say that you are training the model, have you succeed in implementing the model ?

It would be great to have such info !

复现性能

您好,冒昧的请问一下您复现这篇论文的性能能达到多少?
祝好.

Data Parallel for multi-gpu training in mergelayer branch

Thanks for sharing this code. I have followed your update on mergelayer branch where the recognition part is implemented. However, there is still some issues regrading to data parallel. I debug the code with pycharm and found that this problem is caused by data distribution in feature map (see line 34-37 in roi_rotate.py).

    for img_index, box in zip(mapping, boxes):
        feature = feature_map[img_index]  # B * H * W * C
        images.append(feature)

When switching to single gpu mode, everything works fine.
How can we fix this errors in recognition parts?

trainer.py

line 63行代码,为什么 recog_map = None ?

Just my training result now

Training speed very slow, I have only one gpu titanx, have trained for three days.
Train Epoch: 186 [128/960 (13%)] Loss: 1.369987 Detection Loss: 0.646443 Recognition Loss:0.723544
Train Epoch: 186 [192/960 (20%)] Loss: 1.352539 Detection Loss: 0.597384 Recognition Loss:0.755155
Train Epoch: 186 [256/960 (27%)] Loss: 1.433395 Detection Loss: 0.712065 Recognition Loss:0.721329
Train Epoch: 186 [320/960 (33%)] Loss: 1.274836 Detection Loss: 0.535909 Recognition Loss:0.738927
Train Epoch: 186 [384/960 (40%)] Loss: 1.330316 Detection Loss: 0.584632 Recognition Loss:0.745684
Train Epoch: 186 [448/960 (47%)] Loss: 1.290798 Detection Loss: 0.588888 Recognition Loss:0.701910
Train Epoch: 186 [512/960 (53%)] Loss: 1.326055 Detection Loss: 0.575449 Recognition Loss:0.750607
Train Epoch: 186 [576/960 (60%)] Loss: 1.273356 Detection Loss: 0.545374 Recognition Loss:0.727982
Train Epoch: 186 [640/960 (67%)] Loss: 1.288726 Detection Loss: 0.571910 Recognition Loss:0.716816
Train Epoch: 186 [704/960 (73%)] Loss: 1.302910 Detection Loss: 0.557011 Recognition Loss:0.745899
Train Epoch: 186 [768/960 (80%)] Loss: 1.265796 Detection Loss: 0.549302 Recognition Loss:0.716494
Train Epoch: 186 [832/960 (87%)] Loss: 1.227651 Detection Loss: 0.524842 Recognition Loss:0.702808
Train Epoch: 186 [896/960 (93%)] Loss: 1.422848 Detection Loss: 0.615706 Recognition Loss:0.807142
epoch : 186
loss : 1.3162313858668009
precious : 0.0005868187579214195
recall : 0.0005868187579214195
hmean : 0.0005868187579214195
val_precious : 0.0011737089201877935
val_recall : 0.003937007874015748
val_hmean : 0.001808318264014467

识别分支

感谢代码,请问识别分支目前的代码已经完成了吗,什么时候可以公布?谢谢!

can't save the model

Hi, many thanks to your great contribution!
When I finished training and save the model using "torch.save()", I get the follow problem:
[can't pickle _thread.RLock objects]
image
I use python3.6 and torch 1.0.0, it seems that something wrong with the model structure? Do you have any suggestion? thanks for your reply!

预训练模型

你好,很感谢你的工作,请问你有发布训练好的模型的打算吗

Training Environment

Could you give a little bit more information about the training environment. When I use torch v0.4.1, first I get an error about CTCLoss as it is included after the pytorch 1.0 version. To overcome that, I've installed the warp-ctc from this link, and used that instead. Afterwards, when I start training, I got an error saying TypeError: initializer for ctype 'struct THIntTensor *' must be a pointer to same type, not cdata 'struct THCudaLongTensor *' which I could not find a solution for.
While executing build.sh with torch v1.0.1, it says ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead. First, I googled it and found a solution in this link. I have, however, got another error saying TypeError: dist must be a Distribution instance after that, so I couldn't execute the build.sh this time.

error in reg-brach, rectangles ( text_tags )

in FOTS.PyTorch / FOTS / data_loader / dataset.py

If crop the picture, rectangles is not defined in code.
And if not crop the picture, rectangles in line 179 is already after choses, the lenght of rectangles is equal to selected_poly,so line 318 should be delete.

about detect branch

Whether to determine the correctness of the detection branch, i want to write the code of Recognizer base on your code , thanks

Update on performance

Hi @jiangxiluning,
Is there any update on this repo? Are you able to replicate the reported performance from the original paper?

If you can document how to train using your code, I can also try to verify .

thanks for your effort in doing this.

Is Kerala tensorflow version available..?

I have done some work on OCR where I use ctpn for text detection and crnn for text recognition trained on synth90K dataset. Thz model achieves both in single approach which made me really surprised. Has anyone tried thz in keras TF framework?

How to understand the Eqn. (4-8) in the FOTS paper

Hi @jiangxiluning thank you for sharing the code.
I have recently read the paper but I cannot understand the Eqn. (4-8) in the FOTS paper.
The equations are as follows:

fd0b42fb-ff9c-4b30-b3f7-9d408fff68e6

From them, to compute the M matrix, we need to compute tx, ty, which are both related to the x,y position (from Eqn 4 and 5). So does that mean there is one M matrix for each point (x,y) in the input feature map?
But as far as I know, for one bounding box, we just need one transformation matrix, right?
Do I miss something or understand uncorrectly? Looking forward to your reply, thanks a lot!

RuntimeError: Cannot compile lanms??

make: 进入目录“/home/rwd/graduate/code/fots.PyTorch-master/utils/lanms”
g++ -o adaptor.so -I include -std=c++11 -O3 -I/home/rwd/anaconda2/envs/py351/include/python3.5m -I/home/rwd/anaconda2/envs/py351/include/python3.5m -Wno-unused-result -Wsign-compare -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -fdebug-prefix-map==/usr/local/src/conda/- -fdebug-prefix-map==/usr/local/src/conda-prefix -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -flto -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -L/home/rwd/anaconda2/envs/py351/lib/python3.5/config-3.5m -L/home/rwd/anaconda2/envs/py351/lib -lpython3.5m -lpthread -ldl -lutil -lrt -lm -Xlinker -export-dynamic adaptor.cpp include/clipper/clipper.cpp --shared -fPIC
g++: 错误:unrecognized command line option ‘-fno-plt’
make: *** [adaptor.so] 错误 1
make: 离开目录“/home/rwd/graduate/code/fots.PyTorch-master/utils/lanms”
Traceback (most recent call last):
File "train.py", line 14, in
from trainer import Trainer
File "/home/rwd/graduate/code/fots.PyTorch-master/trainer/init.py", line 1, in
from .trainer import *
File "/home/rwd/graduate/code/fots.PyTorch-master/trainer/trainer.py", line 4, in
from utils.bbox import Toolbox
File "/home/rwd/graduate/code/fots.PyTorch-master/utils/bbox.py", line 8, in
from . import lanms
File "/home/rwd/graduate/code/fots.PyTorch-master/utils/lanms/init.py", line 8, in
raise RuntimeError('Cannot compile lanms: {}'.format(BASE_DIR))
RuntimeError: Cannot compile lanms: /home/rwd/graduate/code/fots.PyTorch-master/utils/lanms

variable_names=['imnames', 'wordBB', 'txt'])make a error

修改了config中的数据集路径为synthtext所在路径,但在dataset.py文件中读取该数据集下的gt.mat一直报错,错误如下:variable_names=['imnames', 'wordBB', 'txt'])在这句话中,错误提示 Reader needs file name or open file-like object。希望您能给我指导一下,我这个原因是为什么

cuDNN error when train in gpu

Memory Usage:
    CUDA: 7  Allocated: 108.9853515625 MB Cached: 113.375 MB

['img_589.jpg', 'img_244.jpg', 'img_983.jpg', 'img_16.jpg']
Traceback (most recent call last):
  File "train.py", line 75, in <module>
    main(config, args.resume)
  File "train.py", line 50, in main
    trainer.train()
  File "/data/home/zjw/pythonFile/FOTS.PyTorch/FOTS/base/base_trainer.py", line 78, in train
    result = self._train_epoch(epoch)
  File "/data/home/zjw/pythonFile/FOTS.PyTorch/FOTS/trainer/trainer.py", line 71, in _train_epoch
    pred_score_map, pred_geo_map, pred_recog, pred_boxes, pred_mapping, indices = self.model.forward(img, boxes, mapping)
  File "/data/home/zjw/pythonFile/FOTS.PyTorch/FOTS/model/model.py", line 109, in forward
    rois, lengths, indices = self.roirotate(feature_map, boxes[:, :8], mapping)
  File "/data/home/zjw/anaconda3/envs/pytorch-env/lib/python3.7/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File "/data/home/zjw/pythonFile/FOTS.PyTorch/FOTS/model/modules/roi_rotate.py", line 94, in forward
    grid = nn.functional.affine_grid(matrixes, images.size())
  File "/data/home/zjw/anaconda3/envs/pytorch-env/lib/python3.7/site-packages/torch/nn/functional.py", line 2615, in affine_grid
    return vision.affine_grid_generator(theta, size)
  File "/data/home/zjw/anaconda3/envs/pytorch-env/lib/python3.7/site-packages/torch/nn/_functions/vision.py", line 10, in affine_grid_generator
    ret = torch.cudnn_affine_grid_generator(theta, N, C, H, W)
RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED

========================================================
My environment:Ubuntu14.04, cuda8.0, cudnn7.1,pytorch1.0
When I train in GPUs, the cuDNN error has occured. Can anyone help to fix it?
Thanks a lot.

recognition_loss

HI ,
I find that the recognition loss:
loss = self.ctc_loss(pred[0].float(), pred[1].int(), gt[0].int(), gt[1].int())
but ,I think ,the correct is:
loss = self.ctc_loss(pred[0].float(), gt[0].int(),pred[1].int(), gt[1].int())

数据集

对于中文来说用的是合成数据还是现有标记好的数据集,能否共享一下数据
邮箱[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.