diff --git a/docker/Dockerfile.cpu b/docker/Dockerfile.cpu new file mode 100644 index 0000000..d495f6f --- /dev/null +++ b/docker/Dockerfile.cpu @@ -0,0 +1,45 @@ +FROM ubuntu:focal + +ARG DEBIAN_FRONTEND=noninteractive + +# Remove any third-party apt sources to avoid issues with expiring keys. +RUN rm -f /etc/apt/sources.list.d/*.list + +# Install some basic utilities. +RUN apt-get update && apt-get install -y \ + curl \ + ca-certificates \ + sudo \ + git \ + bzip2 \ + libx11-6 \ + && rm -rf /var/lib/apt/lists/* + +RUN apt update + +# install python +RUN apt install software-properties-common -y && \ + add-apt-repository ppa:deadsnakes/ppa && \ + apt update + +RUN apt install python3-dev -y && \ + apt install python-is-python3 + + +# install pip +RUN apt install python3-pip -y + +# Create a working directory. +RUN mkdir /app +WORKDIR /app + +COPY setup.sh /app +COPY requirements/ /app + +RUN bash setup.sh +RUN pip install -r server.txt + +COPY whisper_live /app/whisper_live + +COPY run_server.py /app +CMD ["python", "run_server.py"] diff --git a/Dockerfile b/docker/Dockerfile.gpu similarity index 92% rename from Dockerfile rename to docker/Dockerfile.gpu index 8805246..cccd17a 100644 --- a/Dockerfile +++ b/docker/Dockerfile.gpu @@ -36,10 +36,12 @@ WORKDIR /app COPY setup.sh /app COPY requirements/ /app +RUN apt update --fix-missing RUN bash setup.sh RUN pip install -r server.txt -RUN pip install whisper-live +COPY whisper_live /app/whisper_live COPY run_server.py /app + CMD ["python", "run_server.py"] diff --git a/setup.py b/setup.py index de5f007..64b99fb 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ README = (HERE / "README.md").read_text() # This call to setup() does all the work setup(name="whisper-live", - version="0.0.4", + version="0.0.5", description="A nearly-live implementation of OpenAI's Whisper.", long_description=README, long_description_content_type="text/markdown", diff --git a/whisper_live/server.py b/whisper_live/server.py index f368bd2..cb2d51c 100644 --- a/whisper_live/server.py +++ b/whisper_live/server.py @@ -79,10 +79,11 @@ class ServeClient: self.frames = b"" self.language = language if multilingual else "en" self.task = task + device = "cuda" if torch.cuda.is_available() else "cpu" self.transcriber = WhisperModel( "small" if multilingual else "small.en", - device=device if device else "cuda", - compute_type="float16", + device=device, + compute_type="int8" if device=="cpu" else "float16", local_files_only=False, )