summaryrefslogtreecommitdiff
path: root/README.md
blob: 48e06b6e2615bc7a04840c65f732d8ed1852d1e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# MegaPixels

FaceQuery.me, mozilla, nytimes

## Installation

- miniconda / python3.6
- mysql
- nvm, node
- redis
- nginx

```
conda create -n megapixels python=3.6
conda install pytorch torchvision -c pytorch
conda install faiss-cpu -c pytorch
conda install tensorflow
pip install numpy Pillow
pip install dlib
pip install requests simplejson click pdfminer.six
pip install urllib3 flask flask_sqlalchemy mysql-connector
pip install pymediainfo tqdm opencv-python imutils
pip install scikit-image python-dotenv imagehash scikit-learn colorlog
pip install celery keras tensorflow
pip install python.app # OSX only!

sudo apt-get install libmysqlclient-dev

mkdir -p /data_store_hdd/apps/megapixels/faiss/indexes
mkdir -p /data_store_hdd/apps/megapixels/faiss/metadata
```

### MySQL note

You may need to set the database charset to `utf8mb4` in order to import the CSVs:

```
ALTER DATABASE megapixels CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
```

## Building the site

```
npm install
npm run build
cd megapixels
python cli_faiss.py sync_metadata
python cli_faiss.py build_faiss
python cli_faiss.py build_db
python cli_site.py build
```

## Running the site

```
python cli_flask.py run
python `which celery` worker -A app.server.tasks --loglevel=info -E
redis-server /usr/local/etc/redis.conf
npm run watch
```