本文整理匯總了Python中Engine.Engine.get_train_start_epoch_batch方法的典型用法代碼示例。如果您正苦於以下問題:Python Engine.get_train_start_epoch_batch方法的具體用法?Python Engine.get_train_start_epoch_batch怎麽用?Python Engine.get_train_start_epoch_batch使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Engine.Engine
的用法示例。
在下文中一共展示了Engine.get_train_start_epoch_batch方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: iterateEpochs
# 需要導入模塊: from Engine import Engine [as 別名]
# 或者: from Engine.Engine import get_train_start_epoch_batch [as 別名]
def iterateEpochs():
start_epoch, start_batch = Engine.get_train_start_epoch_batch(config)
final_epoch = Engine.config_get_final_epoch(config)
print("Starting with epoch %i, batch %i." % (start_epoch, start_batch), file=log.v3)
print("Final epoch is: %i" % final_epoch, file=log.v3)
recurrent_net = "lstm" in config.value("hidden_type", "") # good enough...
batch_size = config.int('batch_size', 1)
max_seqs = config.int('max_seqs', -1)
for epoch in range(start_epoch, final_epoch + 1):
print("Epoch %i." % epoch, file=log.v3)
rnn.train_data.init_seq_order(epoch)
iterateDataset(rnn.train_data, recurrent_net=recurrent_net, batch_size=batch_size, max_seqs=max_seqs)
print("Finished all epochs.", file=log.v3)
示例2: getSegmentList
# 需要導入模塊: from Engine import Engine [as 別名]
# 或者: from Engine.Engine import get_train_start_epoch_batch [as 別名]
def getSegmentList(corpusName, segmentList, **kwargs):
"""
Called by Sprint PythonSegmentOrder.
Set python-segment-order = true in Sprint to use this.
If this is used, this gets called really early.
If it is used together with the Sprint PythonTrainer,
it will get called way earlier before the init() below.
It might also get called multiple times, e.g. if
Sprint is in interactive mode to calc the seg count.
This is optional. You can use the SprintInterface
only for the PythonTrainer.
:type corpusName: str
:type segmentList: list[str]
:type segmentsInfo: dict[str,dict[str]]
:rtype: list[str]
:returns segment list. Can also be an iterator.
"""
print("Sprint: getSegmentList(%r)" % corpusName)
print("Corpus segments #: %i" % len(segmentList))
print("(This can be further filtered in Sprint by a whitelist or so.)")
# Init what we need. These can be called multiple times.
# If we use both the PythonSegmentOrder and the PythonTrainer, this will be called first.
# The PythonTrainer will be called lazily once it gets the first data.
initBase()
sprintDataset.useMultipleEpochs()
finalEpoch = getFinalEpoch()
startEpoch, startSegmentIdx = Engine.get_train_start_epoch_batch(config)
print("Sprint: Starting with epoch %i, segment-idx %s." % (startEpoch, startSegmentIdx))
print("Final epoch is: %i" % finalEpoch)
# Loop over multiple epochs. Epochs start at 1.
for curEpoch in range(startEpoch, finalEpoch + 1):
if isTrainThreadStarted:
# So that the CRNN train thread always has the SprintDataset in a sane state before we reset it.
sprintDataset.waitForCrnnEpoch(curEpoch)
sprintDataset.initSprintEpoch(curEpoch)
index_list = sprintDataset.get_seq_order_for_epoch(curEpoch, len(segmentList))
orderedSegmentList = [segmentList[i] for i in index_list]
assert len(orderedSegmentList) == len(segmentList)
print("Sprint epoch: %i" % curEpoch)
startSegmentIdx = 0
if curEpoch == startEpoch: startSegmentIdx = startSegmentIdx
for curSegmentIdx in range(startSegmentIdx, len(orderedSegmentList)):
sprintDataset.set_complete_frac(float(curSegmentIdx - startSegmentIdx + 1) /
(len(orderedSegmentList) - startSegmentIdx))
yield orderedSegmentList[curSegmentIdx]
print("Sprint finished epoch %i" % curEpoch)
sprintDataset.finishSprintEpoch()
if isTrainThreadStarted:
assert sprintDataset.get_num_timesteps() > 0, \
"We did not received any seqs. You are probably using a buffered feature extractor and the buffer is " + \
"bigger than the total number of time frames in the corpus."
sprintDataset.finalizeSprint()