[+] Windows setup guide
This commit is contained in:
@@ -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())"
|
||||||
|
```
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
tensorflow==2.7.0
|
||||||
|
inaSpeechSegmenter==0.6.8
|
||||||
|
|
||||||
|
python-telegram-bot
|
||||||
+2
-7
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user