Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
556 commits
Select commit Hold shift + click to select a range
09cc201
Poses utility file
fpoms Aug 16, 2017
affb442
Improve pose nms to be based on joint closeness
fpoms Aug 17, 2017
7bc79e3
Parallel poking!
fpoms Aug 18, 2017
ad03529
Fix bug causing current task sampler to be deleted
fpoms Aug 18, 2017
18559fe
Typo
fpoms Aug 18, 2017
3994006
Add table name/id cache for faster lookup in python
fpoms Aug 18, 2017
b621d0d
Delete tables in bulk
fpoms Aug 18, 2017
96399a8
Typo
fpoms Aug 18, 2017
29e530b
Add op lookup cache
fpoms Aug 18, 2017
ffe1a20
Typo
fpoms Aug 18, 2017
c895329
Fix table lookup
fpoms Aug 18, 2017
e0d8164
Lazily load table descriptors
fpoms Aug 19, 2017
b48bdaa
Add RCP functions for op registration and python kernel registration
fpoms Aug 19, 2017
5356e4c
Add python interface for registering ops and kernels
fpoms Aug 19, 2017
22d64c9
Typo
fpoms Aug 19, 2017
07f650e
Support python kernels importing scanner protobuf types
fpoms Aug 20, 2017
436d3dc
Missing kernel checkin
fpoms Aug 20, 2017
f0f666b
Support numpy outputs in python kernels
fpoms Aug 22, 2017
b8360d4
More aggressive pose nms
fpoms Aug 22, 2017
a2161b0
Update pose detect example to use python kernels
fpoms Aug 22, 2017
9c127e2
Typo
fpoms Aug 22, 2017
05d64cb
Address PR comments
fpoms Aug 22, 2017
40e8265
Set stencil if not specified when registering python kernel
fpoms Aug 22, 2017
0ab3518
Typo
fpoms Aug 22, 2017
55a8c75
Fetch table metadata in parallel on master
fpoms Aug 22, 2017
da23352
Add base class for python kernels
fpoms Aug 23, 2017
3c64fc1
Update face pipeline to scale like pose pipeline
fpoms Aug 23, 2017
3bf2a33
Enable jobs to be specified as thunks for overlapping metadata reading
fpoms Aug 25, 2017
607ec4e
Capture loop variables in job fns
fpoms Aug 25, 2017
96ed374
Update README.md
sdulloor Aug 29, 2017
11f8ee8
Make OpenCV cuda components conditional on if building cuda
fpoms Sep 4, 2017
c17da0c
Added bgr conversion on image encode
willcrichton Sep 5, 2017
bcb30d8
Fix bug when reading non-h264 encoded video
fpoms Sep 8, 2017
ee75fe3
Fix warmup rows not being set correctly
fpoms Sep 8, 2017
03fe1e5
Typo
fpoms Sep 8, 2017
e0ba221
Do not push an io item if it is empty (due to warmup)
fpoms Sep 8, 2017
46bab14
Also check that there are no entries in buffered io item
fpoms Sep 8, 2017
ccc40f6
Install pip requests security to avoid build error
fpoms Sep 24, 2017
e680804
Attempt to upgrade requests
fpoms Sep 24, 2017
bd8875c
Fix shot_detect example
fpoms Oct 3, 2017
6846f5d
Get rid of C++ interface for creating jobs and ops
fpoms Sep 25, 2017
82438be
WIP sampling refactor checkin
fpoms Sep 25, 2017
f972e92
WIP partitioning output rows based on slices
fpoms Oct 4, 2017
97b8fbb
WIP finish master + start on worker
fpoms Oct 5, 2017
c89b991
WIP remap input ops to first input op
fpoms Oct 6, 2017
9f4abfc
WIP get rid of IO item, setup for new dependency analysis
fpoms Oct 6, 2017
9ed213c
Add linked allocator which manages duplicate buffers between devices
fpoms Oct 10, 2017
9823051
WIP, analysis mostly complete, reworking evaluate worker for new ops
fpoms Oct 10, 2017
52a719a
WIP mostly finished evalute worker feed function
fpoms Oct 11, 2017
0658d91
WIP compiling
fpoms Oct 12, 2017
d3cb015
Basic executing python example (still crashes)
fpoms Oct 13, 2017
662e0f9
Basic end-to-end example (that does not work 100% correctly)
fpoms Oct 13, 2017
8b9241a
Working sampling and slicing
fpoms Oct 15, 2017
d8a3f79
Passing tests
fpoms Oct 15, 2017
3833b04
Specify output table by op_args, more work on tutorials + tests
fpoms Oct 17, 2017
fdfd79e
Support bounded and unbounded state Ops in dependency analysis
fpoms Oct 17, 2017
bb94892
Provide kernel with input index to detect warmup
fpoms Oct 17, 2017
3664d35
Update collection tutorial
fpoms Oct 17, 2017
ee97f30
Update collection text
fpoms Oct 17, 2017
e9660ab
All tests now passing
fpoms Oct 19, 2017
e5e6cc5
Fix not properly supporting multiple inputs
fpoms Oct 19, 2017
d3a06d4
Misc fixes
fpoms Oct 19, 2017
93786a2
Update montage example and add montage cpu kernel
fpoms Oct 19, 2017
cda9a7f
Fix multiple inputs and sampling inside a slice
fpoms Oct 19, 2017
9a46133
Typo
fpoms Oct 19, 2017
509cc94
Remove printfs
fpoms Oct 19, 2017
3041fad
Fix hist cpu
fpoms Oct 19, 2017
233196e
Attempt to fix travis
fpoms Oct 25, 2017
224e66e
Attempt to fix travis
fpoms Oct 25, 2017
35c366d
Attempt to fix travis
fpoms Oct 25, 2017
1891ea5
Attempt to fix travis
fpoms Oct 25, 2017
6be61e3
Attempt to fix travis
fpoms Oct 25, 2017
fa8096f
Attempt to fix travis
fpoms Oct 25, 2017
7608af7
Support null elements in python loading
fpoms Oct 25, 2017
f7698e6
Finish up tests
fpoms Oct 25, 2017
c1521b0
Index on element was not getting passed along when copied
fpoms Oct 25, 2017
efcf508
All tests passing
fpoms Oct 25, 2017
9fe67d6
Remove test to fix travis
fpoms Oct 25, 2017
45f8c58
Remove test to fix travis
fpoms Oct 25, 2017
6027388
Update pipeline file, add resnet example
fpoms Oct 28, 2017
229b11e
Update examples to new api, fix tutorials
fpoms Oct 28, 2017
ef34ac8
Fix face detection pipeline
fpoms Oct 28, 2017
2ce7b00
Update notebook for new scanner API
willcrichton Oct 29, 2017
a48757c
Add gcloud guide
willcrichton Nov 1, 2017
81ae07f
Added s3 compat
willcrichton Nov 1, 2017
cf9ee7b
Un-hacked python kernel column types
willcrichton Nov 3, 2017
68918b2
Fixed wrong input to frame column dump
willcrichton Nov 3, 2017
bc3f2ef
Fix typo
fpoms Nov 6, 2017
5274b66
Getting build flags no longer requires loading scanner lib
willcrichton Nov 12, 2017
31098c0
Unnecessary movie
willcrichton Nov 12, 2017
066824b
Fixed build flags bug
willcrichton Nov 12, 2017
b00ba95
Fixed pythonpath
willcrichton Nov 12, 2017
141e8b2
Attempt to update travis DOCKER_PASS
willcrichton Nov 25, 2017
7ca0c60
Attempt to fix login/push on branch updates
willcrichton Nov 25, 2017
a3135d4
Fix docker rmi not removing tagged imaged
fpoms Nov 25, 2017
cde8dea
Fixes #89
fpoms Nov 25, 2017
92888e8
Fixes #88
fpoms Nov 25, 2017
b5dc23a
Do not publish build if branch is not master
fpoms Nov 25, 2017
f6b3f60
Use exit instead of return
fpoms Nov 26, 2017
3cacff4
Shutdown server when process receives SIGINT, fixes #78
fpoms Nov 26, 2017
fb851e5
Support batched input for python kernel
qianl15 Nov 21, 2017
6d8f69d
add s3 support
qianl15 Nov 20, 2017
33eeea4
Support incomplete jobs/tables, fixes #72
fpoms Nov 26, 2017
c232b69
WIP new README
fpoms Nov 26, 2017
273ebf7
WIP new README
fpoms Nov 26, 2017
0b48cb9
Update README, change face pipeline to new NN app style
fpoms Nov 26, 2017
8382bb3
Update face detect doc
fpoms Nov 26, 2017
b3f3143
Use absolute python imports (for py3), add basic sphinx docs
fpoms Nov 27, 2017
480a347
Fix tests not passing due to unicode strings
fpoms Nov 27, 2017
fed2370
Add OpenPose Op, closes #97
fpoms Nov 27, 2017
6c8fd7a
Add facenet CPU support
fpoms Nov 28, 2017
f96ca7f
Fix db new_table for new commit table
fpoms Nov 28, 2017
4278dd6
Fix issue with stenciled kernels
fpoms Nov 28, 2017
3667047
Reorganize examples directory
fpoms Nov 28, 2017
c5783d3
Update README to match new example structure
fpoms Nov 28, 2017
e47fcf6
Build facenet kernel always
fpoms Nov 28, 2017
af7c2be
Fix saved io packets being overwritten
fpoms Nov 29, 2017
049b673
Update apps based on new dir structure
fpoms Nov 29, 2017
c5901c0
Build docker from new base images
fpoms Nov 29, 2017
c0addd5
Use most recent docker on travis
fpoms Nov 29, 2017
a9c8188
Assume Caffe uses all CPUs
fpoms Nov 29, 2017
b16f613
Support different devices for input/output cols, py kernel config
fpoms Nov 29, 2017
2be9892
Fix broken links in README
fpoms Nov 30, 2017
956c1e0
Support new GRPC version (1.7.2)
fpoms Nov 30, 2017
dd1a566
Fix error in shot detection example
fpoms Nov 30, 2017
65e9ac5
Fix scanner not shutting down when receiving SIGINT
fpoms Nov 30, 2017
4957893
Fix missing ascii conversion
willcrichton Dec 10, 2017
b3b03f3
Working deps script
fpoms Dec 18, 2017
3032266
Export env variables in deps.sh, add missing resource files
fpoms Dec 18, 2017
13f9adb
Add cmake find for GRPC, add swscale to ffmpeg cmake
fpoms Dec 18, 2017
f687e6a
GRPC libraries were in wrong order
fpoms Dec 18, 2017
9588b79
Typo
fpoms Dec 18, 2017
eee2709
Merge scanner-docker dockerfiles, update docker to work with deps.sh
fpoms Dec 18, 2017
0caab05
Update docker files to build properly
fpoms Dec 19, 2017
d45a3cf
Update travis build to new dockerfile location
fpoms Dec 19, 2017
69d1e61
Dockerfile should be specified on build, not run cmd
fpoms Dec 19, 2017
a83e5df
Dependencies are already built in base image
fpoms Dec 19, 2017
169cdf5
Do not include openface op in dockerfile for now
fpoms Dec 19, 2017
a76bc3a
Fix not finding halide dir
fpoms Dec 19, 2017
725288c
Caffe should be installed by default
fpoms Dec 19, 2017
7ef520e
Fix TinyToml and Storehouse not being found
fpoms Dec 19, 2017
b699800
Typo
fpoms Dec 19, 2017
d59f8d0
Don't use root logger
willcrichton Dec 19, 2017
b1e2045
Multicore boost build
willcrichton Dec 19, 2017
d146aff
Fix grpc not using proper include flags
fpoms Dec 19, 2017
5c94963
Typo
fpoms Dec 19, 2017
48af7bd
Fix Caffe build in deps.sh
willcrichton Dec 19, 2017
05888ac
Fix grpc install
willcrichton Dec 20, 2017
59a3797
storehousepy -> storehouse
willcrichton Dec 20, 2017
584c7f2
Make docker build context the scanner root
fpoms Dec 19, 2017
1809a6f
Include nvcuvid in docker
fpoms Dec 20, 2017
42e248e
Updated INSTALL instructions, proper python package for scanner
fpoms Dec 21, 2017
6833076
Update Docker to build and install python package
fpoms Dec 21, 2017
1a03316
Attempt to fix docker build
fpoms Dec 21, 2017
3375e06
Build wheel
fpoms Dec 21, 2017
dc99c73
Do not need to add scanner to python path
fpoms Dec 21, 2017
d01faf9
stdlib is in scanner, not scannerpy package
fpoms Dec 21, 2017
f23e337
Add header and cmake to pip package, add cuda stubs to library path
fpoms Dec 22, 2017
b0fbc05
Remove extraneous ln
fpoms Dec 22, 2017
5f598a5
Typo
fpoms Dec 22, 2017
e6fba17
Add print functions to build_flags
willcrichton Dec 22, 2017
b03574b
Include generated C++ protobuf headers
fpoms Dec 22, 2017
172281b
Fix storehouse + boost build
willcrichton Dec 22, 2017
520b80e
Link stdlib against scanner
fpoms Dec 22, 2017
032f8d5
Remove broken code
fpoms Dec 22, 2017
e8f9fed
Add inplace ingest support. Closes #28
fpoms Dec 23, 2017
625803f
Need to add cuda stubs to library path before building scanner
fpoms Dec 25, 2017
4a7b460
Update hwang to fix multi-gpu decode issue
fpoms Dec 27, 2017
b9f1a74
Fix multi-gpu hwang issue (same as previous commit)
fpoms Dec 27, 2017
f6c65b0
Cache caffe install
fpoms Dec 27, 2017
8969c91
Add new build script
willcrichton Dec 27, 2017
c3e95ac
Fix cuda link and custom op link
willcrichton Dec 27, 2017
6c899f2
Port changes from openpose-scanner
willcrichton Dec 27, 2017
5b2e7c8
Bump storehouse version
willcrichton Dec 27, 2017
62fff16
Fix custom op build
willcrichton Dec 27, 2017
914fc53
Add openpose to build
willcrichton Dec 28, 2017
f434995
Fix docker resources not being committed
willcrichton Dec 28, 2017
66dce54
Add thirdparty files
willcrichton Dec 28, 2017
a3e146d
Add table list/get/delete to rpc methods, make python use them
fpoms Dec 28, 2017
0c27342
ascii for boost python api
fpoms Dec 28, 2017
b75c595
Typo
fpoms Dec 28, 2017
3f0f706
Write db metadata after delete tables
fpoms Dec 28, 2017
3b60874
Also prefetch uncommitted tables
fpoms Dec 28, 2017
87637d8
Add exp backoff for checking if db exists
fpoms Dec 28, 2017
429985f
Ignore nodes that can't be ssh'ed into during cluster start
fpoms Dec 28, 2017
95faeef
Check # of worker conns, not addresses
fpoms Dec 28, 2017
e91f76c
Missing extra changes
fpoms Dec 28, 2017
6db0613
Parallelize table metadata write
fpoms Dec 28, 2017
afba708
Write table metadata in parallel
fpoms Dec 28, 2017
e0f3ba1
Typo
fpoms Dec 28, 2017
59a8c67
Using wrong id
fpoms Dec 28, 2017
7d016ab
Use smaller worker pool
fpoms Dec 28, 2017
9e4a97a
Typo
fpoms Dec 28, 2017
b949bb8
Initial changes to base image size
willcrichton Dec 28, 2017
45c49d9
Remove collections from python api
willcrichton Dec 28, 2017
e3d933f
Typo
fpoms Dec 28, 2017
296cb13
Add ID to summarize
fpoms Dec 29, 2017
2d9871b
Improved base image build
willcrichton Dec 29, 2017
b2c7e00
Add install none option for docker build
willcrichton Dec 29, 2017
b1d522b
Improve face detect pipeline
willcrichton Dec 29, 2017
9998e1a
Remove collections test
willcrichton Dec 29, 2017
3dcb00a
More stable failure procedure
fpoms Dec 29, 2017
93b9bc3
Do no route outputs
fpoms Dec 29, 2017
a7a10fa
Changed db metadata prefetch to use thread pool
willcrichton Dec 29, 2017
0d2ab55
Chunk up reading of table info
fpoms Dec 29, 2017
d019982
Fix not chunking properly
fpoms Dec 29, 2017
0cc6fe3
Add option to prefetch table metadata
willcrichton Dec 29, 2017
18de7a7
Python client also uses prefetch flag
willcrichton Dec 29, 2017
27f509d
Make workers wait for all work to be finished
fpoms Dec 29, 2017
1b4eb24
Move progress bar to Python side
willcrichton Dec 30, 2017
2dc87ad
Fix getting wrong job total
willcrichton Dec 30, 2017
e3af05c
Fix worker not shutting down properly if fail to connect to master
willcrichton Dec 30, 2017
337c90e
Start watchdog after checking master
willcrichton Dec 30, 2017
2843531
Fix total tasks pbar race condition, add more info to pbar
fpoms Dec 30, 2017
8420bbd
Fix typo
fpoms Dec 30, 2017
e6817d2
Fix worker failed message
fpoms Dec 30, 2017
7e316cb
Print time of failure for progress bar
fpoms Dec 30, 2017
e2f2949
Prefetch metadata in workers to accelerate startup
fpoms Dec 30, 2017
f62b0dd
Make adding failed workers initiated by processing loop
fpoms Dec 30, 2017
e5ea75c
Move job waiting into standalone function
willcrichton Dec 31, 2017
7477e66
Add prefetch option to worker
willcrichton Dec 31, 2017
c26da0a
Allow longer timeout on tests
willcrichton Dec 31, 2017
ed0ab78
travis_wait doesn't exist?
willcrichton Dec 31, 2017
01a1285
Avoid travis timeout
fpoms Dec 31, 2017
78276c2
Add exponential backoff for master grpc calls, warn instead of fail
fpoms Jan 1, 2018
209fc33
Fix reusing grpc client context
fpoms Jan 1, 2018
911c6e8
Fix debug path failing
fpoms Jan 1, 2018
5e5f2af
Add GRPC_BACKOFF to worker calls
fpoms Jan 1, 2018
a735de4
Add job matrix for travis so that each job can run longer
fpoms Jan 1, 2018
8d741cb
Change GRPC_BACKOFF to warn instead of fail after max backoff
fpoms Jan 1, 2018
d0b057b
Only prefetch necessary tables in worker
willcrichton Jan 1, 2018
3124cf1
Add method for accessing keyframe indices from video columns
fpoms Jan 1, 2018
1672401
Provide explanation for errors in db debug mode
fpoms Jan 1, 2018
18c19fa
Move new table from database to master. Fixes #119
willcrichton Jan 1, 2018
ed2dec7
Bump storehouse version
willcrichton Jan 2, 2018
a1a7ab8
Use so_paths as op cache
willcrichton Jan 2, 2018
ddd237f
Add support for blacklisting bad jobs
fpoms Jan 2, 2018
fcebe29
Improve metadata read times
willcrichton Jan 2, 2018
70d39ea
Add minimum read size
willcrichton Jan 2, 2018
66202a4
Attempt to fix travis
fpoms Jan 2, 2018
b7f27ad
Add debug statement for pipeline instances
fpoms Jan 2, 2018
c509f51
Attempt to fix travis
fpoms Jan 2, 2018
587341d
Small fixes to partitioner
fpoms Jan 2, 2018
e26f16b
Bump storehouse version
fpoms Jan 2, 2018
dc026db
Eagerly commit tables
willcrichton Jan 2, 2018
0a33174
Add task timeout to stop workers that don't finish tasks
fpoms Jan 3, 2018
58867f2
Remove python logging
willcrichton Jan 3, 2018
1f97b5b
Temporarily comment unused commit checks
willcrichton Jan 4, 2018
16b5adc
GetTables fetches video descriptors as well
willcrichton Jan 4, 2018
3565e6a
Add missing BulkJob module to tutorial code
swjz Jan 4, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.

EXCLUDE = ./scanner/main.cpp
EXCLUDE = ./scanner/main.cpp ./python/scannerpy/build

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand All @@ -838,7 +838,7 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*

EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS = scanner::internal

# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
Expand Down
4 changes: 2 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
Expand Down Expand Up @@ -89,6 +89,6 @@ SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 8
TabWidth: 2
UseTab: Never
...
1 change: 1 addition & 0 deletions .gdbinit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
handle SIG40 nostop noprint
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@
# similar but **not quite** the same. If you add a file here, make sure that
# the Docker build still works.

dependencies.txt
nvidia-docker-compose.yml
.cache
build
**/*.pyc
**/*.trace
thirdparty
!thidparty/resources
!thirdparty/CMakeLists.txt
!docker/**/thirdparty
python/*.egg-info

docker/**/deps.sh
**/*.mp4
**/*.mkv

python/scannerpy/include
python/scannerpy/include
dist
4 changes: 3 additions & 1 deletion .scanner.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ scanner_path = "/opt/scanner"
# bucket = "gcs-bucket"

[network]
master = "localhost:5001"
master = "localhost"
master_port = "5001"
worker_port = "5002"
16 changes: 13 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,27 @@ language: cpp
services:
- docker

addons:
apt:
packages:
- docker-ce

env:
global:
- DOCKER_REPO=scannerresearch/scanner
- [email protected]
- DOCKER_USER=wcrichto
- secure: "Jf7f8UvpJ8yRA/2nnxaRb9jGrzWZvbRVRxzQtmcx+ltBpflmLFbXB6o4sySGETn5YrJe1g4VNWvkFBZIdLY0n+v4AQ/D1eMWtJT+kZLHihVGcxB3G7SUSOyEUaN1DzdHbaRW4VCSXQJWgK48amxlwnNfXtbNkSpiqIifDURBeHK1UT9+w1FKuTDZmEXv+ubDKjXvv1DuPdTtnolItDfrdtKLh5iXgTRvgXFanmNvydIcHqfz+72qJZJRCdTwUrA8FPq7jKNndftX9y2/dKuA/Xd/cP818iR57Z2PJXeR1c6ZmQ0RBTIZ8pdwG6bfix+48a5+aWlPJ3friA0G2b8psdZ/rQMxBbEClTI+BfnuJnYaIW8JREqmOBACBL7/4eo/Jifv1+vl+VhWHSicS6mWg2khCNAMPWj3cIA/bZrRlTmNlC06GkUgnHar/HhovGrowbZCGOxN0CNWWcuCGeLYfvPgPiI4JRU8eq0VqVhhqXZyPuS/RT1FoqZ4mMfNZG+RSIKHU56g5M4elakp/bZdu9lRoS4hr9VFpvPaLorOTOXPa3J+JxmB9OIP+NLxMIGjUhYnSYfTJ9/+Opxg2lWUOdqXzPZsyPyI+4RuIyyPh1w6jN/xD3EqQC55u5JlFlJ1WuNoyhx16QcKu1Eytxd2JxU6LutMw9WgQET53Q3EOVk=" # DOCKER_PASS
- secure: "DAwB02uem8/aIRNfHPknzqZCCmwDlJoQq6r3qE1CyUqkM9VMu6mQa/RBYMBwp3Upny6oI6yBlYJqqVr1rjZzI4by0j0IVhuhQPp2G5DJ/mVZ5PQSJ0bxJtCzm29hHo8hi+EgIk7r7YTcHOr3SRmplf0vM0WFuJplW5fJ6J/RbJSPPpnlTOIgp0Ry9B4eowLhi4b//TbwmtzEX6j4yKxWnDTJ6cV9xRVN1FoNd15PvpiBkOZ3dVGWtdUZm9K3Q3IumeyuemAoTSuKU3r3aqMSamdLf7pmYjpzTrYDT9CMbbEVjzr8M3Y5wFyjQsIdFKzYM/0jRBlUbKaLMhz7a/9vlkplBI954ufOqHiGAx3Cdk4jfkJ3hyucCQqYuQwHxWMmru3lV6jIZf+rYn6UBomHeNN1AIiikZ1EjvNDwY8iwGZPJbcZ42gn2mTaUVxsmwMD757AalTOzZo94+pdFJDjWY6y6kPQlZbdj8AT14bBHf8x8zF8EsZrh/WQMcRgzEU3BcjDE3RIqNgK38Sv1OzqNVTYy57PXbEMKMqfpAQx8FTcx/7NXBRrStrQ24pRZJA+wvkUefpyWZnayyMPvttzB4106GCOWAjSdJEyYQTnZMrXMRX4Qf+NHx6KHlQcExxpww/hSvewsh0JRrvMol5HKXJaZqnF6ZTqxeQdLUDdn3g=" # DOCKER_PASS
- secure: "mJDNPmfRd3cyFNIhRg6TQo8ow5hOS+FC+DX6MLpM6Giv2nL1KkJD0fgnLqgiZeEKDOFHvGpGswGjYTAzNWYeocsneby88w58sNbueUE6PT74UqsbzrmvMhKh2xtEERkJFz5gKvdwc9a4nAvH5ejJW7OZ5OvSscR2vRBl4tUwTuA3czWbod6NwBC/sUrf0jTZhNgZWWWT1j2SLt379Q52Xmd5+ixAaSibctf8hCEMzE/lNsWprR1gO7H89eyLVRQc8VQh8msVtgo7QD/aapr+w96GDWWUAm6z5iNe8gLGZB9v4BtTm82XOV0iefNDfT0fwIhHrM6vqIdiiuMeYMteErT3rF55h0o8hJrP57lwT5u7hU/yxUhNTvtCdJTo8THJihXHbOT7LjxaF20SlJzjARSGZq9mYHeBgv9sGej2jF80iSn+xTAbalVFbc4hKumELnn/D7mGWRTjsGGTbTqNXvTQvxm/QjXmNusav5vKeRFwjbPGfb0iDSfhlZ7BHkR50OyskZ/R/69WjIFS9gBE2pvp4FlVpndKWkkkd4TVSgmnKCXxnQdeNS8We8NodvTBlTcvHFub8j2izKTZRU7FBXRgo9d+Gu+43nSRvjJUgwg/6D6Bou6boVHJo8ib9xzakVjojbJxehatj+dadpuVkG3tjULejPNg/qnjlJc10Pg=" # PYPI_PASS
matrix:
- BUILD_TYPE=cpu
- BUILD_TYPE=gpu

install:
- sudo apt-get install -y doxygen graphviz python-pip
- pip install doxypypy twine
- sudo apt-get update
- sudo apt-get install -y doxygen graphviz
- sudo pip install requests[security] --upgrade
- sudo pip install doxypypy twine Sphinx

script: ./scripts/travis-build.sh

Expand Down
99 changes: 2 additions & 97 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ project(Scanner)
###### Config options #####
option(BUILD_CUDA "" ON)
option(BUILD_TESTS "" ON)
option(BUILD_SERVER "" OFF)
option(BUILD_EXAMPLES "" ON)
option(ENABLE_PROFILING "" OFF)

if (BUILD_TESTS)
Expand Down Expand Up @@ -66,97 +64,7 @@ if (ENABLE_PROFILING)
add_definitions(-DSCANNER_PROFILING)
endif()

###### Optional Dependencies #######
if (BUILD_CUDA)
find_package(CUDA REQUIRED)
add_definitions(-DHAVE_CUDA)
include_directories(${CUDA_INCLUDE_DIRS})
if(COMPILER_SUPPORTS_CXX1Y)
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -std=c++11")
endif()
endif()

if (BUILD_CUDA)
add_library(scanner_halide scanner/engine/halide_context.cpp)
endif()

###### Required Dependencies #######
find_package(SaneProtobuf REQUIRED)
find_package(FFmpeg REQUIRED)
find_package(LibLZMA REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(BZip2 REQUIRED)
find_package(Boost COMPONENTS thread program_options regex python REQUIRED)
find_package(GFlags REQUIRED)
find_package(Glog REQUIRED)
find_package(GoogleTest REQUIRED)
find_package(CURL REQUIRED)
find_package(Iconv REQUIRED)
find_package(Storehouse REQUIRED CONFIG
PATHS "thirdparty/build/bin/storehouse")
find_package(TinyToml REQUIRED)
find_package(PythonLibs 2.7 EXACT REQUIRED)

set(GTEST_INCLUDE_DIRS
"${THIRDPARTY_OUTPUT_PATH}/googletest/include")
set(GTEST_LIBRARIES
"${THIRDPARTY_OUTPUT_PATH}/googletest/lib/libgtest.a")
set(GTEST_LIB_MAIN
"${THIRDPARTY_OUTPUT_PATH}/googletest/lib/libgtest_main.a")

set(SCANNER_LIBRARIES
"${PROTOBUF_LIBRARY}"
"${STOREHOUSE_LIBRARIES}"
"${FFMPEG_LIBRARIES}"
"-L/opt/ffmpeg-3.2.2/lib"
"-lswscale"
"${LIBLZMA_LIBRARIES}"
"${OPENSSL_LIBRARIES}"
"${BZIP2_LIBRARIES}"
"${PROXYGEN_LIBRARIES}"
"${FOLLY_LIBRARIES}"
"${Boost_LIBRARIES}"
"${GFLAGS_LIBRARIES}"
"${GLOG_LIBRARIES}"
"${CURL_LIBRARIES}"
"${ICONV_LIBRARIES}"
"${SCANNER_LIBRARIES}"
"${PYTHON_LIBRARIES}"
"-ljpeg"
"-lz"
"-ldl"
"-lgrpc++_unsecure -lgrpc -lgpr")

include_directories(
"."
"${CMAKE_CURRENT_BINARY_DIR}" # for protobuf generated files
"${PROTOBUF_INCLUDE_DIRS}"
"${FFMPEG_INCLUDE_DIR}"
"${TINYTOML_INCLUDE_DIR}"
"${STOREHOUSE_INCLUDE_DIRS}"
"${OPENSSL_INCLUDE_DIR}"
"${Boost_INCLUDE_DIRS}"
"${GLOG_INCLUDE_DIRS}"
"${LIBLZMA_INCLUDE_DIRS}"
"${PYTHON_INCLUDE_DIRS}")

if (BUILD_TESTS)
include_directories("${GTEST_INCLUDE_DIRS}")
endif()

if (BUILD_CUDA)
list(APPEND SCANNER_LIBRARIES
util_cuda
"${CUDA_LIBRARIES}"
"/usr/lib/x86_64-linux-gnu/libnvcuvid.so"
"-lcuda")
endif()

if (APPLE)
include_directories(
"/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/Headers/")
elseif()
endif()
include(cmake/Dependencies.cmake)

###### Project code #######
set(PROTO_FILES
Expand Down Expand Up @@ -200,6 +108,7 @@ add_library(scanner SHARED
$<TARGET_OBJECTS:engine>
$<TARGET_OBJECTS:video>
$<TARGET_OBJECTS:util>
scanner/util/halide_context.cpp
${PROTO_SRCS}
${GRPC_PROTO_SRCS}
${STRUCK_SOURCES}
Expand Down Expand Up @@ -236,10 +145,6 @@ endforeach()

add_subdirectory(stdlib)

if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

if (BUILD_TESTS)
add_subdirectory(tests)
endif()
20 changes: 0 additions & 20 deletions Dockerfile

This file was deleted.

118 changes: 118 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Building Scanner

*NOTE*: The following build instructions have only been tested on Ubuntu 16.04.

There are five major steps to build and install Scanner:
1 Install apt-get dependencies
2 Install python pip dependencies
3 Run deps.sh to download and install external dependencies
4 Build Scanner
5 Install scannerpy python package

Scanner depends on the following *major* dependencies:

* Python == 2.7
* boost >= 1.63.0
* ffmpeg >= 3.3.1
* opencv >= 3.2.0
* protobuf == 3.4.0
* grpc == 1.7.2
* caffe >= rc5 OR intel-caffe >= 1.0.6

Scanner optionally requires:
* CUDA >= 8.0

Scanner provides a dependency script `deps.sh` to automatically install any or
all of the *major* dependencies if they are not already installed. Each of these
dependencies has a set of required system-level packages. If you need to install
all or most of of these dependencies, run the 'All dependencies' apt-get command
below. If you only need to install a few, we also provide apt-get commands for
each package.

## 1. apt-get Dependencies

All dependencies
```bash
apt-get install \
build-essential \
cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev \
libswscale-dev unzip llvm clang libc++-dev libgflags-dev libgtest-dev \
libssl-dev libcurl3-dev liblzma-dev libeigen3-dev \
libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev libgflags-dev \
libx264-dev libopenjpeg-dev libxvidcore-dev \
libpng-dev libjpeg-dev libbz2-dev git python-pip wget \
libleveldb-dev libsnappy-dev libhdf5-serial-dev liblmdb-dev python-dev \
python-tk autoconf autogen libtool libtbb-dev libopenblas-dev \
liblapacke-dev swig yasm python2.7 cpio \
automake libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool \
libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev mercurial pkg-config texinfo wget zlib1g-dev \
curl unzip
```

For gRPC
```bash
apt-get install \
build-essential autoconf automake libtool curl make g++ \
unzip clang libc++-dev libgflags-dev libgtest-dev unzip
```

For OpenCV
```bash
apt-get install \
build-essential cmake git libgtk2.0-dev pkg-config \
python-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
libjasper-dev libdc1394-22-dev
```

For FFMPEG
```bash
apt-get -y install \
build-essential autoconf automake build-essential cmake git libass-dev \
libfreetype6-dev \ libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev mercurial \
pkg-config texinfo wget zlib1g-dev
```

## 2. Python Pip Dependencies

Scanner depends on several python packages installable via pip. From the
top-level directory, run:

```bash
pip install -r requirements.txt
```

## 3. Run deps.sh

To install or specify where your *major* dependencies are, from the top-level
directory run:

```bash
bash ./deps.sh
```

This script will query you for each major
dependency and install those that are not already installed. By default,
it will install the dependencies to a local directory inside the scanner repo
(it will not install system-wide).

## 4. Build Scanner

Run the following commands from the top-level directory:
```bash
mkdir build
cd build
cmake ..
make -j
```

## 5. Install scannerpy python package

Run the following commands from the top-level directory:
```bash
python python/setup.py bdist_wheel
pip install dist/scannerpy-0.1.13-py2-none-any.whl
```

Congratulations! You've installed the scannerpy package.
Loading