Source code for clarifai.utils.misc

from typing import List


[docs]class Chunker: """Split an input sequence into small chunks."""
[docs] def __init__(self, seq: List, size: int) -> None: self.seq = seq self.size = size
[docs] def chunk(self) -> List[List]: """Chunk input sequence.""" return [self.seq[pos:pos + self.size] for pos in range(0, len(self.seq), self.size)]
class BackoffIterator: """Iterator that returns a sequence of backoff values.""" def __init__(self): self.count = 0 def __iter__(self): return self def __next__(self): if self.count < 1: self.count += 1 return 0.1 elif self.count < 7: self.count += 1 return 0.01 * (2**(self.count + 4)) else: return 0.01 * (2**10) # 10 seconds