azzr HF staff inoki-giskard commited on
Commit
d85d266
0 Parent(s):

Duplicate from giskardai/giskard

Browse files

Co-authored-by: Inoki at Giskard <inoki-giskard@users.noreply.huggingface.co>

Files changed (6) hide show
  1. .gitattributes +35 -0
  2. Dockerfile +43 -0
  3. README.md +25 -0
  4. hf.sh +30 -0
  5. requirements.txt +3 -0
  6. supervisord.conf +54 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM docker.io/giskardai/giskard:2.7.0
2
+
3
+ USER root
4
+ RUN usermod -u 1000 giskard
5
+ RUN chown -R giskard \
6
+ /var/run/postgresql \
7
+ /var/lib/nginx \
8
+ "${GSK_USER_HOME}" \
9
+ "${GSK_DIST_PATH}"
10
+
11
+ # Use HF persistent storage under /data if mounted
12
+ ENV GISKARD_HF_DATA_DIR=/data/giskard/datadir
13
+ RUN mkdir -p "${GISKARD_HF_DATA_DIR}" && chown -R giskard "${GISKARD_HF_DATA_DIR}"
14
+
15
+ # Create or declare subdirs under GISKARD_HF_DATA_DIR
16
+ ENV PGDATA=$GISKARD_HF_DATA_DIR/database
17
+ RUN mkdir -p "${GISKARD_HF_DATA_DIR}/run" && chown -R giskard "${GISKARD_HF_DATA_DIR}/run"
18
+
19
+ # Keep the original GSK_HOME for supervisord run files
20
+ # We can still bring up supervisord in case of the persistent storage not working
21
+ ENV GSK_RUN=$GSK_HOME
22
+ RUN mkdir -p "${GSK_RUN}/run" && chown -R giskard "${GSK_RUN}/run"
23
+
24
+ USER giskard
25
+
26
+ # Only changed the original supervisord.conf to redirect logs to stdout
27
+ COPY --chown=giskard supervisord.conf $GSK_DIST_PATH
28
+
29
+ # Copy requirements for demo Space external worker
30
+ COPY --chown=giskard requirements.txt /requirements.txt
31
+
32
+ # Internal workr doesn't download resource, but takes them directly from projects, so no cache
33
+ ENV GSK_CACHE_DIR=projects
34
+
35
+ # Redirect to HF persistent storage for Python ($GSK_HOME) and Java ($GISKARD_HOME)
36
+ ENV GSK_HOME=$GISKARD_HF_DATA_DIR \
37
+ GISKARD_HOME=$GISKARD_HF_DATA_DIR
38
+
39
+ EXPOSE 7860
40
+
41
+ # Use a script to create dir and change owner in HF persistent storage during runtime
42
+ COPY --chown=giskard hf.sh "/giskard-bootstrap.sh"
43
+ ENTRYPOINT ["bash", "/giskard-bootstrap.sh"]
README.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Giskard Hub
3
+ emoji: 🐢
4
+ colorFrom: green
5
+ colorTo: green
6
+ sdk: docker
7
+ app_port: 7860
8
+ pinned: false
9
+ duplicated_from: giskardai/giskard
10
+ ---
11
+ Welcome to Giskard !
12
+ You can modify this space to suit your needs.
13
+
14
+ The goal for you is to upload your model so you can inspect and test it thanks to Giskard.
15
+
16
+ In the Dockerfile you can change the PYTHON_VERSION to any python version between 3.7 and 3.10 !
17
+ The default value is 3.7.13. If you don't have specific need we advise you to stay with this version because the build will be quicker.
18
+
19
+ In the requirements.txt file you can add every python package your model needs. Be carefull, the package giskard is mandatory.
20
+
21
+ Finally the main code will be in the project.py file. You can choose the name, description of your project.
22
+ Then you can upload your model and dataset, by following the Giskard documentation https://docs.giskard.ai/start/guides/upload-your-model.
23
+
24
+ As an exemple, we already built one model and dataset in the project.py file. Feel free to delete it.
25
+ If you have any question, you can contact us on linkedin https://www.linkedin.com/in/alexcombessie/
hf.sh ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ echo "Initializing datadir..."
4
+
5
+ # Create dir if not existed in HF persistent storage
6
+ if [ ! -d "${GSK_HOME}" ]
7
+ then
8
+ # Create HOME
9
+ mkdir -p "${GSK_HOME}"
10
+ # Create frontend run dir
11
+ mkdir -p "${GSK_HOME}/run/nginx"
12
+ fi
13
+
14
+ if [ ! -z "${GISKARD_LICENSE}" ]
15
+ then
16
+ # Use new license if env set
17
+ echo "${GISKARD_LICENSE}" > "${GISKARD_HOME}/license.lic"
18
+ fi
19
+
20
+ echo "Detecting demo Giskard Space..."
21
+
22
+ if [ ! -z "${SPACE_ID}" ] && [ "${DEMO_SPACE_ID}" == "${SPACE_ID}" ]
23
+ then
24
+ # Generate GISKARD_DEFAULT_API_KEY in demo space instead of set from Secrets
25
+ export GISKARD_DEFAULT_API_KEY=gsk-$(cat /dev/urandom | tr -dc '[:alpha:]' | fold -w ${1:-28} | head -n 1)
26
+ fi
27
+
28
+ echo "Starting supervisord..."
29
+
30
+ exec supervisord -c "${GSK_DIST_PATH}/supervisord.conf"
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ transformers==4.33.2
2
+ datasets==2.14.5
3
+ torch==2.0.1
supervisord.conf ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [supervisord]
2
+ directory=%(ENV_GSK_RUN)s/run
3
+ pidfile=%(ENV_GSK_RUN)s/run/supervisord.pid
4
+ logfile=%(ENV_GSK_RUN)s/run/supervisord.log
5
+ nodaemon=true
6
+
7
+ [rpcinterface:supervisor]
8
+ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
9
+
10
+
11
+ [unix_http_server]
12
+ file = %(ENV_GSK_RUN)s/run/svd.sock
13
+ username = giskard
14
+ password = giskard
15
+
16
+ [supervisorctl]
17
+ serverurl = unix://%(ENV_GSK_RUN)s/run/svd.sock
18
+ username = giskard
19
+ password = giskard
20
+
21
+
22
+ [program:backend]
23
+ stdout_logfile=/dev/fd/1
24
+ stdout_logfile_maxbytes=0
25
+ autorestart=true
26
+ redirect_stderr=true
27
+ startsecs=5
28
+ command=bash -c 'sleep 3 && java -jar %(ENV_GSK_DIST_PATH)s/backend/giskard.jar'
29
+
30
+ [program:db]
31
+ stdout_logfile=/dev/fd/1
32
+ stdout_logfile_maxbytes=0
33
+ autorestart=true
34
+ redirect_stderr=true
35
+ stopsignal=INT
36
+ startsecs=5
37
+ command=/bin/bash %(ENV_GSK_DIST_PATH)s/start-db.sh
38
+
39
+ [program:worker]
40
+ stdout_logfile=/dev/fd/1
41
+ stdout_logfile_maxbytes=0
42
+ autorestart=true
43
+ redirect_stderr=true
44
+ startsecs=5
45
+ command=bash -c 'python -m giskard.cli worker stop -s && python -m giskard.cli worker start -s --parallelism 2'
46
+
47
+ [program:frontend]
48
+ stdout_logfile=/dev/fd/1
49
+ stdout_logfile_maxbytes=0
50
+ autorestart=true
51
+ redirect_stderr=true
52
+ startsecs=5
53
+ priority=0
54
+ command=/bin/bash %(ENV_GSK_DIST_PATH)s/start-frontend.sh