未验证 提交 c63624b3 编写于 作者: X xiaoting 提交者: GitHub

Merge pull request #94 from tink2123/win

Adaptive Windows
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#limitations under the License. #limitations under the License.
import os import os
import sys
import math import math
import random import random
import functools import functools
...@@ -42,6 +43,10 @@ class TrainReader(object): ...@@ -42,6 +43,10 @@ class TrainReader(object):
img_num = len(label_infor_list) img_num = len(label_infor_list)
img_id_list = list(range(img_num)) img_id_list = list(range(img_num))
random.shuffle(img_id_list) random.shuffle(img_id_list)
if sys.platform == "win32":
print("multiprocess is not fully compatible with Windows."
"num_workers will be 1.")
self.num_workers = 1
for img_id in range(process_id, img_num, self.num_workers): for img_id in range(process_id, img_num, self.num_workers):
label_infor = label_infor_list[img_id_list[img_id]] label_infor = label_infor_list[img_id_list[img_id]]
outs = self.process(label_infor) outs = self.process(label_infor)
......
...@@ -66,6 +66,8 @@ def reader_main(config=None, mode=None): ...@@ -66,6 +66,8 @@ def reader_main(config=None, mode=None):
reader_function = params['reader_function'] reader_function = params['reader_function']
function = create_module(reader_function)(params) function = create_module(reader_function)(params)
if mode == "train": if mode == "train":
if sys.platform == "win32":
return function(0)
readers = [] readers = []
num_workers = params['num_workers'] num_workers = params['num_workers']
for process_id in range(num_workers): for process_id in range(num_workers):
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#limitations under the License. #limitations under the License.
import os import os
import sys
import math import math
import random import random
import numpy as np import numpy as np
...@@ -191,16 +192,21 @@ class SimpleReader(object): ...@@ -191,16 +192,21 @@ class SimpleReader(object):
img_num = len(label_infor_list) img_num = len(label_infor_list)
img_id_list = list(range(img_num)) img_id_list = list(range(img_num))
random.shuffle(img_id_list) random.shuffle(img_id_list)
if sys.platform=="win32":
print("multiprocess is not fully compatible with Windows."
"num_workers will be 1.")
self.num_workers = 1
for img_id in range(process_id, img_num, self.num_workers): for img_id in range(process_id, img_num, self.num_workers):
label_infor = label_infor_list[img_id_list[img_id]] label_infor = label_infor_list[img_id_list[img_id]]
substr = label_infor.decode('utf-8').strip("\n").split("\t") substr = label_infor.decode('utf-8').strip("\n").split("\t")
img_path = self.img_set_dir + "/" + substr[0] img_path = self.img_set_dir + "/" + substr[0]
img = cv2.imread(img_path) img = cv2.imread(img_path)
if img.shape[-1]==1 or len(list(img.shape))==2:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
if img is None: if img is None:
logger.info("{} does not exist!".format(img_path)) logger.info("{} does not exist!".format(img_path))
continue continue
if img.shape[-1]==1 or len(list(img.shape))==2:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
label = substr[1] label = substr[1]
outs = process_image(img, self.image_shape, label, outs = process_image(img, self.image_shape, label,
self.char_ops, self.loss_type, self.char_ops, self.loss_type,
......
...@@ -34,7 +34,7 @@ class CharacterOps(object): ...@@ -34,7 +34,7 @@ class CharacterOps(object):
with open(character_dict_path, "rb") as fin: with open(character_dict_path, "rb") as fin:
lines = fin.readlines() lines = fin.readlines()
for line in lines: for line in lines:
line = line.decode('utf-8').strip("\n") line = line.decode('utf-8').strip("\n").strip("\r\n")
self.character_str += line self.character_str += line
dict_character = list(self.character_str) dict_character = list(self.character_str)
elif self.character_type == "en_sensitive": elif self.character_type == "en_sensitive":
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册