nataliegref commited on
Commit
9676ced
·
1 Parent(s): 1f45ebc
Files changed (4) hide show
  1. Dockerfile +16 -0
  2. README copy.md +10 -0
  3. app.py +22 -0
  4. requirements.txt +6 -0
Dockerfile ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.9
5
+
6
+ RUN useradd -m -u 1000 user
7
+ USER user
8
+ ENV PATH="/home/user/.local/bin:$PATH"
9
+
10
+ WORKDIR /app
11
+
12
+ COPY --chown=user ./requirements.txt requirements.txt
13
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
+
15
+ COPY --chown=user . /app
16
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
README copy.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: test-if-api
3
+ emoji: ⚡
4
+ colorFrom: blue
5
+ colorTo: green
6
+ sdk: docker
7
+ app_file: app.py
8
+ ---
9
+
10
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ import numpy as np
4
+ import pickle
5
+ from huggingface_hub import hf_hub_download
6
+
7
+ app = FastAPI()
8
+
9
+ # Download your model pickle from the Hub on startup
10
+ model_path = hf_hub_download(repo_id="nataliegref/test-model", filename="trained_causal_model_v2.pkl")
11
+
12
+ with open(model_path, "rb") as f:
13
+ model = pickle.load(f)
14
+
15
+ class InputData(BaseModel):
16
+ X: list
17
+
18
+ @app.post("/predict")
19
+ def predict(data: InputData):
20
+ X = np.array(data.X)
21
+ effect = model.effect(X).tolist()
22
+ return {"effect": effect}
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ huggingface_hub
2
+ fastapi
3
+ uvicorn
4
+ numpy
5
+ scikit-learn
6
+ econml