CV / Lite Transformer
Lite Transformer
Engels-naar-Chinees vertaling met Lite Transformer, versneld met RKNN op reComputer RK3576 en RK3588.
Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.
Aan de slag
sudo docker run --rm --privileged --net=host \
-e PYTHONUNBUFFERED=1 -e RKNN_LOG_LEVEL=0 \
-v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-lite_transformer:latestREST API
Gebruik de REST API om inferentie uit te voeren. Kopieer de onderstaande commando's.
curl http://localhost:8080/v1/chat/completions -d '{
"model": "lite-transformer-rknn",
"messages": [{"role": "user", "content": "Hello"}]
}'import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "lite-transformer-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())Modeldetails
Snel aan de slag
1. Docker installeren
Voer de volgende opdrachten uit op het ontwikkelbord om Docker te installeren:
# Installatiescript downloaden
curl -fsSL https://get.docker.com -o get-docker.sh
# Installeren via de Aliyun-mirror
sudo sh get-docker.sh --mirror Aliyun
# Docker starten en automatisch opstarten inschakelen
sudo systemctl enable docker
sudo systemctl start docker2. Het project uitvoeren (één opdracht en Webvoorbeeld)
Het project vertaalt Engels naar Chinees met een RKNN-encoder en -decoder en toont de BPE-token-ID’s.
Stap A: images ophalen
sudo docker pull ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3588-lite_transformer:latest
sudo docker pull ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3576-lite_transformer:latestStap B: met één opdracht starten
Voor RK3588:
sudo docker run --rm --privileged --net=host \
+ -e PYTHONUNBUFFERED=1 \
+ -e RKNN_LOG_LEVEL=0 \
+ -v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
+ ghcr.io/seeed-projects/recomputer-rk-cv/rk3588-lite_transformer:latestOpenen via: http://<Board_IP>:8000
Voor RK3576:
sudo docker run --rm --privileged --net=host \
+ -e PYTHONUNBUFFERED=1 \
+ -e RKNN_LOG_LEVEL=0 \
+ -v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
+ ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-lite_transformer:latestOpenen via: http://<Board_IP>:8000
3. Inferentie via de opdrachtregel
python inference.py --platform rk3576 --model_dir model --text "thank you"Gebruik --platform rk3588 wanneer u vanuit de RK3588-bronmap werkt.
🔌 API-documentatie
Endpoint: POST /api/models/lite_transformer/predict
Aanvraagparameters (Multipart/Form-Data):
text: verplichte Engelse tekst; na codering maximaal 15 bron-BPE-tokens plus EOS.
Gebruiksvoorbeeld:
curl -X POST "http://127.0.0.1:8000/api/models/lite_transformer/predict" \
+ -F 'text=thank you'Antwoordformaat (JSON):
{
"success": true,
"model": "lite_transformer",
"platform": "rk3576",
"inference_time_ms": 42.6,
"result": {
"input_text": "thank you",
"translation": "谢谢你",
"input_tokens": [
1234,
5678
],
"output_tokens": [
9012,
3456
],
"input_token_count": 2,
"output_token_count": 2
}
}De limiet geldt voor BPE-tokens; te lange invoer wordt geweigerd. GET /api/config geeft {} terug omdat er geen runtime-instellingen zijn. Per platform is één paar beschikbaar.
2. Interface voor systeemconfiguratie
Huidige configuratie ophalen
- Endpoint:
GET /api/config - Response:
{}
Gebruik GET /api/health om het actieve platform, de modelstatus, geladen RKNN-bestanden en mogelijkheden te bekijken. OpenAPI-documentatie staat op /docs.
🛠️ Handleiding voor ontwikkelaars (productieadvies)
Beschrijving van de code
web_service.py:- Web-API: biedt de browserinterface, inferentie, configuratie, status en aanvraagvalidatie.
task_runtime.py:- Tokeniseert en controleert de lengte, voert de encoder uit en genereert Chinees autoregressief.
inference.py: Biedt eenmalige inferentie via de opdrachtregel.
Modelbestanden
| Onderdeel | Bestand |
|---|---|
| Encoder | model/encoder.rknn |
| Decoder | model/decoder.rknn |
| BPE data | model/bpe_order.txt |
| Token maps | model/cw_token_map_order.txt, model/dict_order.txt |
| Embeddings | model/position_embed.bin, model/token_embed.bin |
Modellen wijzigen
- Plaats compatibele geconverteerde bestanden in
model/en behoud de bestandsnamen uit de tabel. - Houd alle onderdelen uit dezelfde conversiebundel en behoud de contracten voor invoer, uitvoer en voorverwerking.
- Test vóór publicatie de Web-, REST- en opdrachtregelroutes op RK3576 en RK3588.
Lokale images bouwen
Voer dit uit vanuit de hoofdmap van reComputer-RK-CV:
docker build -f docker/rk3576/lite_transformer.dockerfile \
+ -t rk3576-lite_transformer:local src/rk3576_lite_transformer
docker build -f docker/rk3588/lite_transformer.dockerfile \
+ -t rk3588-lite_transformer:local src/rk3588_lite_transformerInvoer en uitvoer
Invoer: Engelse tekst met maximaal 15 bron-BPE-tokens plus EOS. Uitvoer: Chinese vertaling en informatie over invoer- en uitvoertokens.