File size: 4,682 Bytes
6c226f9
94ca74e
6c226f9
 
 
 
45eb9bc
6c226f9
 
 
 
 
 
94ca74e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
---
title: ASR UI
emoji: 🤫
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: 4.20.0
app_file: app.py
pinned: false
tags:
- whisper-event
---


# Instruccions per l'ús d'interfície d'usuari de reconeixement de la parla


## Resum

Aquest document està preparat per a explicar l'ús, requisits i la instal·lació d'interfície d'usuari (IU) de reconeixement de la parla de BSC-LT. Per poder comprovar els models que estem desenvolupant, hem preparat aquest IU. L'aplicació està empaquetada amb docker, per això la instal·lació de docker és un dels requisits i l'aplicació està dissenyada pels navegadors. 


## Requisits

**OS:** Ubuntu/Debian (Està comprovat amb 20.04.6 LTS)

**Requisits minims:**

* CPU 4 vCores
* 16 GB RAM
* 25 GB espai lliure

**Requisit suggerit:**
* GPU: Nvidia T4, 16GB VRAM

L’ús de GPU accelera la inferència considerablement. Sense GPU el rendiment de la inferència és aproximadament x3 RTF (real-time-factor), és a dir necessita 30 segons per transcriure 10 segons d'àudio. Però amb una GPU el RTF és menor a 1.

## Instruccions

Passos per desplegar l'aplicació d'IU és 

* Instal·lar docker (opcional: afegir docker al grup d'usuaris sudo)
* Descarregar la imatge de docker mitjançant el docker pull
* Configurar un reverse proxy per fer disponible l'aplicació

## Instal·lació docker

Es pot seguir les instruccions d'aquestes pàgines

* [How To Install and Use Docker on Ubuntu 22.04 | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04)
* [https://docs.docker.com/engine/install/ubuntu/](https://docs.docker.com/engine/install/ubuntu/)

Però en resum:

```
## Add Docker's official GPG key

$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

## Add the repository to Apt sources

$ echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

## Post Installation Steps

#Add create docker group, add your user to the group for executing docker without sudo
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

#To automatically start Docker and containerd on boot for other Linux distributions using systemd, run the following commands:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
```



## Desplegament d'aplicació

Per descarregar i córrer la imatge de docker:


```
docker run -d -p 7860:7860 --name asr-inference --platform=linux/amd64 \
	registry.hf.space/projecte-aina-asr-inference:latest python app.py
```


Durant la primera execució el docker run descarrega la imatge i els models necessaris per córrer l'aplicació. Si tot funciona sense errors, l'aplicació de web estarà disponible a localhost:7860. (IP_DE_SERVIDOR:7860)

Per consultar logs de l’aplicacio:


```
docker logs asr-inference
```


Si després d’uns minuts d'iniciar l’aplicació surt això als logs:


```
Running on local URL:  http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`.
```


L'aplicació s'ha desplegat correctament.		

Per aturar l'aplicació:


```
docker stop asr-inference
```


Per reiniciar l'aplicació


```
docker start asr-inference
```



## Connexió a l'IU

Amb les instruccions anteriors si tot ha funcionat bé l'aplicació ja serà disponible a localhost al port 7860. Si l'aplicació està desplegada al local, només cal anar a <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code> a un navegador per l'accés. Si l'aplicació està desplegada a una màquina virtual o un servidor en remot, hi ha dues maneres de conectar-hi:

**ssh port forwarding:**


```
ssh -L 7860:localhost:7860 <vm-server-address>
```


D'aquesta manera es pot connectar a l'IU com estigués corrent al màquina local i.e. a l'adreça <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code>

**Mitjançant un web server:**

Si la màquina virtual de l'aplicació està dins la mateixa xarxa i/o els ports de la màquina virtual estan oberts a fora, es pot connectar simplement amb apuntar el navegador a `http://<vm-server-address>:7860` per apuntar l'IP a un domini, es pot fer un reverse proxy mitjançant una eina com Apache o nginx.