[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use accurate available CPU count STT-wide #2253

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open
Prev Previous commit
Next Next commit
fix the universe and everything
  • Loading branch information
wasertech committed Jul 5, 2022
commit 2b112c0f44b513c7923f152d28a458c024762b5d
4 changes: 2 additions & 2 deletions training/coqui_stt_training/evaluate.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
from .util.evaluate_tools import calculate_and_print_report, save_samples_json
from .util.feeding import create_dataset
from .util.helpers import check_ctcdecoder_version
from .util.cpu import available_count as available_cpu_count
from .util import cpu


def sparse_tensor_value_to_texts(value, alphabet):
Expand Down Expand Up @@ -92,7 +92,7 @@ def evaluate(test_csvs, create_model):

# Get number of accessible CPU cores for this process
try:
num_processes = available_cpu_count()
num_processes = cpu.available_count()
except Exception:
num_processes = 1

Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/evaluate_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import numpy as np
from coqui_stt_training.util.evaluate_tools import calculate_and_print_report
from coqui_stt_training.util.audio import read_ogg_opus
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu
from six.moves import range, zip

r"""
Expand Down Expand Up @@ -144,7 +144,7 @@ def parse_args():
parser.add_argument(
"--proc",
required=False,
default=available_cpu_count(),
default=cpu.available_count(),
type=int,
help="Number of processes to spawn, defaulting to number of CPUs",
)
Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/evaluate_flashlight.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
flashlight_beam_search_decoder_batch,
FlashlightDecoderState,
)
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu
from six.moves import zip

import tensorflow as tf
Expand Down Expand Up @@ -96,7 +96,7 @@ def evaluate(test_csvs, create_model):

# Get number of accessible CPU cores for this process
try:
num_processes = available_cpu_count()
num_processes = cpu.available_count()
except Exception:
num_processes = 1

Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/evaluate_wav2vec2am.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from clearml import Task
from coqui_stt_training.util.evaluate_tools import calculate_and_print_report
from coqui_stt_training.util.multiprocessing import PoolBase
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu
from coqui_stt_ctcdecoder import (
Alphabet,
Scorer,
Expand Down Expand Up @@ -276,7 +276,7 @@ def parse_args():
parser.add_argument(
"--proc",
required=False,
default=available_cpu_count(),
default=cpu.available_count(),
type=int,
help="Number of processes to spawn, defaulting to number of CPUs",
)
Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/transcribe.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@
from coqui_stt_training.util.feeding import split_audio_file
from coqui_stt_training.util.helpers import check_ctcdecoder_version
from coqui_stt_training.util.multiprocessing import PoolBase
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu
from tqdm import tqdm


def cpu_count():
try:
return available_cpu_count()
return cpu.available_count()
except Exception:
return 1

Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/util/augmentations.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import random
import re
from multiprocessing import Process, Queue
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu

import numpy as np
import resampy
Expand Down Expand Up @@ -312,7 +312,7 @@ def __repr__(self):

def cpu_count(self):
try:
return available_cpu_count()
return cpu.available_count()
except Exception:
return 1

Expand Down
5 changes: 4 additions & 1 deletion training/coqui_stt_training/util/cpu.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
def available_cpu_count():
import re


def available_count():
"""Number of available virtual or physical CPUs on this system, i.e.
user/real as output by time(1) when called with an optimally scaling
userspace-only program
Expand Down
6 changes: 3 additions & 3 deletions training/coqui_stt_training/util/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import time
from collections import namedtuple
from multiprocessing import Pool
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu

import semver

Expand Down Expand Up @@ -137,10 +137,10 @@ def __init__(
sleeping_for=0.1,
):
if processes is None:
processes = available_cpu_count()
processes = cpu.available_count()

self.process_ahead = (
available_cpu_count() if process_ahead is None else process_ahead
cpu.available_count() if process_ahead is None else process_ahead
)
self.sleeping_for = sleeping_for
self.processed = 0
Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/util/lm_optimize_wav2vec2am.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
initialize_globals_from_instance,
log_error,
)
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu
from coqui_stt_training.util.evaluate_tools import wer_cer_batch
from coqui_stt_training.evaluate_wav2vec2am import (
compute_emissions,
Expand Down Expand Up @@ -104,7 +104,7 @@ class LmOptimizeWav2vec2amConfig(BaseSttConfig):
),
)
num_processes: int = field(
default=available_cpu_count(),
default=cpu.available_count(),
metadata=dict(help="Number of worker processes for evaluation."),
)
clearml_project: str = field(
Expand Down
4 changes: 2 additions & 2 deletions training/coqui_stt_training/util/multiprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import os
import sys
from contextlib import contextmanager
from coqui_stt_training.util.cpu import available_count as available_cpu_count
from coqui_stt_training.util import cpu


def target_fn(*args, **kwargs):
Expand Down Expand Up @@ -71,7 +71,7 @@ def run(self, x):
@classmethod
def create_impl(cls, processes=None, context=None, initargs=(), *args, **kwargs):
if processes is None:
processes = available_cpu_count()
processes = cpu.available_count()

if context is None:
context = multiprocessing
Expand Down