[+] Windows setup guide

This commit is contained in:
Hykilpikonna
2021-12-22 23:58:18 -05:00
parent 03ef8d08b5
commit b4daaf0ef1
4 changed files with 59 additions and 38 deletions
+25 -1
View File
@@ -23,9 +23,33 @@ pip3 install -r requirements-mac.txt
plaidml-setup plaidml-setup
``` ```
4. Configure environment variables: 4. Configure environment variables in the run script:
```sh ```sh
export KERAS_BACKEND="plaidml.keras.backend" export KERAS_BACKEND="plaidml.keras.backend"
export tg_token="Your telegram token here" export tg_token="Your telegram token here"
``` ```
### Windows (CUDA)
1. Setup Python
```powershell
python3.9 -m venv venv
.\venv\Scripts\activate
pip install -r requirements-win-cuda.txt
```
2. Install CUDA
* Install NVIDIA Drivers: https://www.nvidia.com/drivers
* Install CUDA **11.2** (for TensorFlow 2.7.0): https://developer.nvidia.com/cuda-toolkit-archive
* Download cuDNN **8.1**: https://developer.nvidia.com/rdp/cudnn-archive
* Copy folders in `cudnn-11.2-windows-x64-v8.1.1.33\cuda` to `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2`
* Restart IntelliJ IDEA
3. Check Device List
```shell
python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
```
+5
View File
@@ -0,0 +1,5 @@
tensorflow==2.7.0
inaSpeechSegmenter==0.6.8
python-telegram-bot
+2 -7
View File
@@ -1,17 +1,12 @@
import os import warnings
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
from telegram import Update, Message from telegram import Update, Message
from telegram.ext import Updater, CallbackContext, Dispatcher, CommandHandler, MessageHandler, \ from telegram.ext import Updater, CallbackContext, Dispatcher, CommandHandler, MessageHandler, \
Filters Filters
os.environ['KERAS_BACKEND'] = "plaidml.keras.backend"
import keras
from inaSpeechSegmenter import *
from ina_main import * from ina_main import *
import warnings
warnings.filterwarnings("ignore") warnings.filterwarnings("ignore")
+27 -30
View File
@@ -2,31 +2,19 @@ from __future__ import annotations
import io import io
import os import os
import shutil
import sys
import tempfile import tempfile
import time import time
import wave import warnings
from dataclasses import dataclass
from PIL import Image
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
from typing import NamedTuple, Callable from typing import NamedTuple, Callable
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import scipy.io.wavfile import scipy.io.wavfile
from matplotlib.figure import Figure, Axes from PIL import Image
from numpy import ndarray
os.environ['KERAS_BACKEND'] = "plaidml.keras.backend"
import keras
from keras import backend
import tensorflow as tf
from inaSpeechSegmenter import * from inaSpeechSegmenter import *
from inaSpeechSegmenter.segmenter import featGenerator from inaSpeechSegmenter.segmenter import featGenerator
from matplotlib.figure import Figure, Axes
class ResultFrame(NamedTuple): class ResultFrame(NamedTuple):
@@ -175,21 +163,30 @@ def get_result_percentages(result: Result) -> tuple[float, float, float]:
return f, m, 1 - f - m return f, m, 1 - f - m
# def test(): def test():
# results: BatchResults = BatchResults( # results: BatchResults = BatchResults(
# [Result([ResultFrame('female', 0.0, 10.48), ResultFrame('male', 10.48, 12.780000000000001)], # [Result([ResultFrame('female', 0.0, 10.48), ResultFrame('male', 10.48, 12.780000000000001)],
# '../test.csv')], # '../test.csv')],
# 1.7032792568206787, 1.7032792568206787, 1, # 1.7032792568206787, 1.7032792568206787, 1,
# [('../test.csv', 0)]) # [('../test.csv', 0)])
#
# with draw_result('../test.mp3', results.results[0]) as buf: warnings.filterwarnings("ignore")
# show_image_buffer(buf) seg = Segmenter()
# print(get_result_percentages(results.results[0]))
# # Warmup run
# # seg = Segmenter() results = process(seg, ['../test.mp3'])
# # print(process(seg, ['../test.mp3'])) print(results)
# Actual run
results = process(seg, ['../test.mp3'])
print(results)
# Draw results
with draw_result('../test.mp3', results.results[0]) as buf:
show_image_buffer(buf)
print(get_result_percentages(results.results[0]))
if __name__ == '__main__': if __name__ == '__main__':
# to_wav('../audio_tmp/2021-12-22 05-32 leph1art5.mp3', print) test()
# test()
pass pass