Comment on page
Single Node
- Run docker image
Run these commands in your Terminal.
export VISIONAIRE_CLOUD_ACCESS_KEY=<your visionaire cloud access key>
export VISIONAIRE_CLOUD_SECRET_KEY=<your visionaire cloud secret key>
export DEPLOYMENT_KEY_SNAPSHOT=<your snapshot deployment key>
export HOST_ADDR=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')
- 1.
YOUR_CLOUD_ACCESS_KEY
is your access key from Visionaire Cloud. - 2.
YOUR_CLOUD_SECRET_KEY
is your secret key from Visionaire Cloud. - 3.
NFFS-FR
should be contained in your deployment key details.
Create a user-defined bridge network:
docker network create nf-visionaire
Create docker volumes for postgresdb:
docker volume create postgres-data
Create Postgre Container
docker run -it -d -p 5432:5432 \
--name=postgresdb \
--network="nf-visionaire" \
--restart unless-stopped \
-e POSTGRES_PASSWORD=nfvisionaire123 \
-e POSTGRES_DB=nfvisionaire \
-e POSTGRES_USER=postgres \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v postgres-data:/var/lib/postgresql/data \
postgres:12-alpine
Init new additional DB
docker run -it --rm \
--network="nf-visionaire" \
-e PGPASSWORD=nfvisionaire123 \
postgres:12-alpine \
sh -c 'psql -h postgresdb -U postgres -c "CREATE DATABASE nfv4;" || true'
Select one of installer below:
Get a lower latency & higher QPS / throughput by using GPU version. However, GPU version requires you to set designated enrollment counts for every keyspace at a config file.Please create a folder --which later we call it as<HOST FREMIS-N CONFIG FOLDER>
--, then create a file named asconfig.yml
inside<HOST FREMIS-N CONFIG FOLDER>
with content as follows:keyspace-enrollments_num:<YOUR DEFINED 1st KEYSPACE>: <DESIGNATED ENROLLMENTS COUNT><YOUR DEFINED 2nd KEYSPACE>: <DESIGNATED ENROLLMENTS COUNT># ...
the command to run FRemis-N GPU
docker run --gpus device=0 -it -d -p 4005:4005 \
--env FREMISN_BATCH_SEARCH_MAX_SIZE=1 \
--name fremisn \
--network="nf-visionaire" \
-v <HOST FREMIS-N CONFIG FOLDER>:/config/config.yml
--restart unless-stopped \
nodefluxio/fremis-n:v2.12.18-gpu \
httpserver \
--access-key ${VISIONAIRE_CLOUD_ACCESS_KEY} \
--secret-key ${VISIONAIRE_CLOUD_SECRET_KEY} \
--dk ${DEPLOYMENT_KEY_SNAPSHOT} \
--db-address localhost \
--db-port 5432 \
--db-name nfvisionaire \
--db-username postgres \
--db-password nfvisionaire123 \
--listen-port 4005 \
--listen-port-monitoring 5005 \
--storage postgres \
--config-path /config/config.yml \
--precision=16 \
--verbose
Notes:
- If you want to change the enrollments count whereas FRemis-N GPU is already running, please shut FRemis-N down > change the enrollments count value in
config.yml
> start again - Single FRemis-N container/instance doesn't support multiple GPU yet. Hence, when you run with
--gpus all
while the computer utilizes more than 1 GPU, likely it will fail
docker run -it -d -p 4005:4005 \
--env FREMISN_BATCH_SEARCH_MAX_SIZE=1 \
--name fremisn \
--network="nf-visionaire" \
--restart unless-stopped \
nodefluxio/fremis-n:v2.12.18-cpu \
httpserver \
--access-key ${VISIONAIRE_CLOUD_ACCESS_KEY} \
--secret-key ${VISIONAIRE_CLOUD_SECRET_KEY} \
--dk ${DEPLOYMENT_KEY_SNAPSHOT} \
--db-address postgresdb \
--db-port 5432 \
--db-name nfvisionaire \
--db-username postgres \
--db-password nfvisionaire123 \
--listen-port 4005 \
--listen-port-monitoring 5005 \
--storage postgres \
--verbose \
--max-workers 1
Options | Description |
---|---|
-h,--help | Print this help message and exit |
--access-key | Nodeflux access key |
--secret-key | Nodeflux secret key |
--dk | Deployment Key |
--listen-addr | Address to serve REST API |
-p,--listen-port | Address to serve REST API |
--listen-port-monitoring | Address port of monitoring |
--similarity-threshold | Default similarity threshold |
--storage | Storage System. The choice is postgres |
--db-address | Database Address of Postgres server, if postgres selected |
--db-port | Database port of Postgres server, if postgres selected |
--db-name | Database name of Postgres server, if postgres selected |
--db-username | Database username of Postgres server, if postgres selected |
--db-password | Database password of Postgres server, if postgres selected |
--partition-start | The starting number of partition set |
--partition-end | The ending number of partition set |
-v,--verbose | Turn on verbose logging |
--max-workers | OPTIONAL, DEFAULT 1
Set the maximum number of extraction workers, can be 0 or positive numbers.
If 0 then exctraction workers is disabled. |
version: "v1"
target_keyspaces : ["fnz","fahri"]
keyspace-enrollments_num:
<keyspace_name>: <maximum_enrollment>
Options | Descriptions |
---|---|
target_keyspace | choose keyspace that you want to load |
keyspace-enrollments_num | USE ONLY IN GPU MODE
Pre-allocate number of enrollment in GPU |
Last modified 1mo ago