Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# FROM python:3.7.0-slim

# COPY . .

# RUN pip install -r requirements.txt

# # CMD ["python","predict.py"]

# Use Python 3.7 slim image to reduce image size
FROM python:3.7-slim

# Set environment variables
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1

# Set working directory
WORKDIR /app

# Copy the current directory into the container
COPY . /app

# Install system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
&& rm -rf /var/lib/apt/lists/*

# Install Python dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

# Default command to run the script
CMD ["python", "predict.py"]
31 changes: 31 additions & 0 deletions demo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from name2nat import Name2nat

my_nanat = Name2nat()

names = ["Donald Trump", # American
"Moon Jae-in", # Korean
"Shinzo Abe", # Japanese
"Xi Jinping", # Chinese
"Joko Widodo", # Indonesian
"Angela Merkel", # German
"Emmanuel Macron", # French
"Kyubyong Park", # Korean
"Yamamoto Yu", # Japanese
"Sara Abbas"] # Chinese
result = my_nanat(names, top_n=3)
print(result)
# (name, [(nationality, prob), ...])
# Note that prob of 1.0 indicates the name exists
# in Wikipedia.
# [
# ('Donald Trump', [('American', 1.0)])
# ('Moon Jae-in', [('Korean', 1.0)])
# ('Shinzo Abe', [('Japanese', 1.0)])
# ('Xi Jinping', [('Chinese', 1.0)])
# ('Joko Widodo', [('Indonesian', 1.0)])
# ('Angela Merkel', [('German', 1.0)])
# ('Emmanuel Macron', [('French', 1.0)])
# ('Kyubyong Park', [('Korean', 0.9985014200210571), ('American', 0.000289416522718966), ('Bhutanese', 0.00025851925602182746)])
# ('Yamamoto Yu', [('Japanese', 0.7050493359565735), ('Taiwanese', 0.12779785692691803), ('Chinese', 0.04263153299689293)])
# ('Jing Xu', [('Chinese', 0.8626819252967834), ('Taiwanese', 0.09901007264852524), ('American', 0.022995812818408012)])
# ]
4 changes: 4 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
torch==1.7.1
flair==0.6
gensim==3.8.3
smart_open==2.0.0
2 changes: 2 additions & 0 deletions run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
docker build . -t name2nat
docker run -it --rm -v /.:/app name2nat bash