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鈥櫭簊 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鈥檃plicacio:


```
docker logs asr-inference
```


Si despr茅s d鈥檜ns minuts d'iniciar l鈥檃plicaci贸 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.