資源簡介
一個快速的文本檢測程序,python語言編寫,代碼簡單實用
代碼片段和文件信息
‘‘‘
this?file?is?modified?from?keras?implemention?of?data?process?multi-threading
see?https://github.com/fchollet/keras/blob/master/keras/utils/data_utils.py
‘‘‘
import?time
import?numpy?as?np
import?threading
import?multiprocessing
try:
????import?queue
except?ImportError:
????import?Queue?as?queue
class?GeneratorEnqueuer():
????“““Builds?a?queue?out?of?a?data?generator.
????Used?in?‘fit_generator‘?‘evaluate_generator‘?‘predict_generator‘.
????#?Arguments
????????generator:?a?generator?function?which?endlessly?yields?data
????????use_multiprocessing:?use?multiprocessing?if?True?otherwise?threading
????????wait_time:?time?to?sleep?in-between?calls?to?‘put()‘
????????random_seed:?Initial?seed?for?workers
????????????will?be?incremented?by?one?for?each?workers.
????“““
????def?__init__(self?generator
?????????????????use_multiprocessing=False
?????????????????wait_time=0.05
?????????????????random_seed=None):
????????self.wait_time?=?wait_time
????????self._generator?=?generator
????????self._use_multiprocessing?=?use_multiprocessing
????????self._threads?=?[]
????????self._stop_event?=?None
????????self.queue?=?None
????????self.random_seed?=?random_seed
????def?start(self?workers=1?max_queue_size=10):
????????“““Kicks?off?threads?which?add?data?from?the?generator?into?the?queue.
????????#?Arguments
????????????workers:?number?of?worker?threads
????????????max_queue_size:?queue?size
????????????????(when?full?threads?could?block?on?‘put()‘)
????????“““
????????def?data_generator_task():
????????????while?not?self._stop_event.is_set():
????????????????try:
????????????????????if?self._use_multiprocessing?or?self.queue.qsize()?????????????????????????generator_output?=?next(self._generator)
????????????????????????self.queue.put(generator_output)
????????????????????else:
????????????????????????time.sleep(self.wait_time)
????????????????except?Exception:
????????????????????self._stop_event.set()
????????????????????raise
????????try:
????????????if?self._use_multiprocessing:
????????????????self.queue?=?multiprocessing.Queue(maxsize=max_queue_size)
????????????????self._stop_event?=?multiprocessing.Event()
????????????else:
????????????????self.queue?=?queue.Queue()
????????????????self._stop_event?=?threading.Event()
????????????for?_?in?range(workers):
????????????????if?self._use_multiprocessing:
????????????????????#?Reset?random?seed?else?all?children?processes
????????????????????#?share?the?same?seed
????????????????????np.random.seed(self.random_seed)
????????????????????thread?=?multiprocessing.Process(target=data_generator_task)
????????????????????thread.daemon?=?True
????????????????????if?self.random_seed?is?not?None:
????????????????????????self.random_seed?+=?1
????????????????else:
????????????????????thread?=?threading.Thread(target=data_generator_task)
????????????????self._threads.append(thread)
????????????????thread.start()
????????except:
????????????self.stop()
????????????raise
????d
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-27?14:22??EAST\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\branches\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\hooks\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\info\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\logs\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\logs\refs\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\logs\refs\heads\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\logs\refs\remotes\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\logs\refs\remotes\origin\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\ob
?????目錄???????????0??2017-10-29?20:16??EAST\.git\ob
?????目錄???????????0??2017-10-29?20:16??EAST\.git\ob
?????目錄???????????0??2017-10-27?14:22??EAST\.git\refs\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\refs\heads\
?????目錄???????????0??2017-10-27?14:22??EAST\.git\refs\remotes\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\refs\remotes\origin\
?????目錄???????????0??2017-10-29?20:16??EAST\.git\refs\tags\
?????文件????????1219??2017-10-27?14:22??EAST\.gitignore
?????文件???????35141??2017-10-27?14:22??EAST\LICENSE
?????文件???????????0??2017-10-27?14:22??EAST\__init__.py
?????目錄???????????0??2017-10-29?20:16??EAST\__pycache__\
?????目錄???????????0??2017-10-29?20:16??EAST\copy\
?????目錄???????????0??2017-10-27?14:31??EAST\data\
?????文件?????????277??2017-10-27?14:31??EAST\data\checkpoint
?????目錄???????????0??2017-10-29?20:16??EAST\data\east_icdar2015_resnet_v1_50_rbox\
?????目錄???????????0??2017-10-29?20:16??EAST\data\image_char\
?????目錄???????????0??2017-10-29?20:16??EAST\data\model\
?????目錄???????????0??2017-10-27?14:21??EAST\data\ocr\
?????目錄???????????0??2017-10-29?20:16??EAST\data\ocr\icdar2015\
?????目錄???????????0??2017-10-29?20:16??EAST\data\output\
............此處省略373個文件信息
評論
共有 條評論