Giter Club home page Giter Club logo

smart's Introduction

SMART

Build Status Documentation Status

SMART is an open source application designed to help data scientists and research teams efficiently build labeled training datasets for supervised machine learning tasks.

If you use SMART for a research publication, please consider citing:

Chew, R., Wenger, M., Kery, C., Nance, J., Richards, K., Hadley, E., & Baumgartner, P. (2019). SMART: An Open Source Data Labeling Platform for Supervised Learning. Journal of Machine Learning Research, 20(82), 1-5.

Development

The simplest way to start developing is to go to the envs/dev directory and run the rebuild script with ./rebuild.sh. This will: clean up any old containers/volumes, rebuild the images, run all migrations, and seed the database with some testing data.

The testing data includes three users root, user1, test_user and all of their passwords are password555. There is also a handful of projects with randomly labeled data by the various users.

Docker containers

This project uses docker containers organized by docker-compose to ease dependency management in development. All dependencies are controlled through docker.

Initial Startup

First, install docker and docker-compose. Then navigate to envs/dev and to build all the images run:

docker-compose build

Next, create the docker volumes where persistent data will be stored.

docker volume create --name=vol_smart_pgdata
docker volume create --name=vol_smart_data

Then, migrate the database to ensure the schema is prepared for the application.

docker-compose run --rm backend ./migrate.sh

Workflow During Development

Run docker-compose up to start all docker containers. This will start up the containers in the foreground so you can see the logs. If you prefer to run the containers in the background use docker-compose up -d. When switching between branches there is no need to run any additional commands (except build if there is dependency change).

Dependency Changes

If there is ever a dependency change than you will need to re-build the containers using the following commands:

docker-compose build <container with new dependency>
docker-compose rm <container with new dependency>
docker-compose up

If your database is blank, you will need to run migrations to initialize all the required schema objects; you can start a blank backend container and run the migration django management command with the following command:

docker-compose run --rm backend ./migrate.sh

Dependency management in Python

We use pip-tools to manage Python dependencies. To change the dependencies:

  1. Edit requirements.in to add, remove, or edit a dependency. You only need to put primary dependencies here, that is, the ones explicitly needed by our source code. pip-tools will take care of adding their dependencies.
  2. Run docker-compose run --rm backend pip-compile docker/requirements.in to generate a new requirements.txt. Note that pip-tools uses the existing requirements.txt file when building a new one, so that it can maintain existing versions. To upgrade a package to the newest version compatible with the other libraries, just remove it from the existing requirements.txt before running pip-compile.
  3. Run docker-compose build backend to install the updated requirements into the Docker image.

Custom Environment Variables

The various services will be available on your machine at their standard ports, but you can override the port numbers if they conflict with other running services. For example, you don't want to run SMART's instance of Postgres on port 5432 if you already have your own local instance of Postgres running on port 5432. To override a port, create a file named .env in the envs/dev directory that looks something like this:

# Default is 5432
EXTERNAL_POSTGRES_PORT=5433

# Default is 3000
EXTERNAL_FRONTEND_PORT=3001

The .env file is ignored by .gitignore.

Timezones

All date-times in the SMART backend and database are set to UTC (Coordinated Universal Time) as reccomended by the Django docs. By default the history and download date-times are set to Eastern New York time. To change this, go to SMART/backend/django/smart/settings.py and update the TIME_ZONE_FRONTEND variable to the desired time-zone.

Running tests

Backend tests use py.test and flake8. To run them, use the following docker-compose command from the env/dev directory:

docker-compose run --rm backend ./run_tests.sh <args>

Where <args> are arguments to be passed to py.test. Use py.test -h to see all the options, but a few useful ones are highlighted below:

  • -x: Stop running after the first failure
  • -s: Print stdout from the test run (allows you to see temporary print statements in your code)
  • -k <expression>: Only run tests with names containing "expression"; you can use Python expressions for more precise control. See py.test -h for more info
  • --reuse-db: Don't drop/recreate the database between test runs. This is useful for for reducing test runtime. You must not pass this flag if the schema has changed since the last test run.

Frontend tests use mocha and eslint. To run them, use the following docker-compose command from the env/dev directory:

docker-compose run --rm smart_frontend ./run_tests.sh

Contributing

If you would like to contribute to SMART feel free to submit issues and pull requests addressing any bugs or features. Before submitting a pull request make sure to follow the few guidelines below:

  • Clearly explain the bug you are experiencing or the feature you wish to implement in the description.
  • For new features include unit tests to ensure the feature is working correctly and the new feature is maintainable going forward.
  • For bug fixes include unit tests to ensure that previously untested code is now covered.
  • Make sure your branch passes all the existing backend and frontend tests.
  • It is recommended that you enable pre-commit hooks. These are format checks that run whenever you commit to the project.
    • In order to run the pre-commit hooks you will need to have pre-commit installed in your local environment.
    • Once your environment is active you will need to install the pre-commit hooks with pre-commit install
    • This project uses the following formatters:
      • black: The uncompromising Python code formatter
      • flake8: Your tool for style guide enforcement
      • docformatter: Formats docstrings to follow PEP 257
      • isort: A python utility to sort imports
      • eslint: A fully pluggable tool for identifying and reporting on patterns in JavaScript

smart's People

Contributors

andykawabata avatar astridkery avatar dsteedrti avatar isra17 avatar jasonnance avatar jdpdev avatar peridoteagle avatar rchew avatar rjmorris avatar rjruizes avatar rjurney avatar schittarath3-rti avatar wengerm50 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smart's Issues

Docker Build Fails due to change of debian sources

ubuntu:~/dj/SMART/envs/dev$ sudo docker-compose build
postgres uses an image, skipping
redis uses an image, skipping
Building smart_backend
Step 1/8 : FROM python:3.5.3
---> 56b15234ac1d
Step 2/8 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> da52f44df65a
Step 3/8 : RUN apt-get update && apt-get install -y netcat-traditional
---> Running in 171feffc12f4
Ign http://deb.debian.org jessie InRelease
Ign http://deb.debian.org jessie-updates InRelease
Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]
Get:2 http://deb.debian.org jessie Release.gpg [2420 B]
Ign http://deb.debian.org jessie-updates Release.gpg
Get:3 http://deb.debian.org jessie Release [148 kB]
Ign http://deb.debian.org jessie-updates Release
Err http://deb.debian.org jessie-updates/main amd64 Packages

Get:4 http://security.debian.org jessie/updates/main amd64 Packages [823 kB]
Get:5 http://deb.debian.org jessie/main amd64 Packages [9098 kB]
Err http://deb.debian.org jessie-updates/main amd64 Packages

Err http://deb.debian.org jessie-updates/main amd64 Packages

Err http://deb.debian.org jessie-updates/main amd64 Packages
404 Not Found
Fetched 10.1 MB in 7s (1343 kB/s)
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.
ERROR: Service 'smart_backend' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y netcat-traditional' returned a non-zero code: 100

Setting the number of examples for annotation

I have tried various changes to fix the number of examples for the annotation function. But none of them have allowed me to set the number of examples I need. How can I modify this parameter from the creation of the project?

Change dev environment so it actually rebuilds webpack as you edit files

I have to start and stop docker to get the project to update when I edit Javascript files. This is incredibly irritating. It would be great if the dev setup would automatically reload/rebuild. The message in docker says webpack is watching but updates never actually happen unless you kill docker and restart it :(

File error while mounting container

Hi,

I am trying to start the docker container with SMART but the last 2 steps with docker-compose run --rm smart_backend ./migrate.sh and docker-compose up are sending me errors at the smart_frontend and smart-backend. Here is the log of the error:

Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused "rootfs_linux.go:58: mounting \"/host_mnt/c/Users/jp-qu/Documents/SMART/frontend\" to rootfs \"/var/lib/docker/overlay2/19fa56e72b84bb936a54ca60e2595acdededaa42735a945518f6379dcf520c11/merged\" at \"/var/lib/docker/overlay2/19fa56e72b84bb936a54ca60e2595acdededaa42735a945518f6379dcf520c11/merged/code/frontend\" caused \"mkdir /var/lib/docker/overlay2/19fa56e72b84bb936a54ca60e2595acdededaa42735a945518f6379dcf520c11/merged/code/frontend: file exists\""": unknown``

I am trying it at a Windows Laptop with Windows 10 Pro 64bit.

Could you give me any advice how to fix this problem or bug? Thanks a lot.

Add short cut

Add short cut for each class for annotation, it could be more effecient.

Are there any plans for supporting multi-labels categorization ?

Hi,

First, thank you for this very handy and fully open-source application. Is there any plan to add multi-labels categorization in a near future ? If not, I'm keen to contribute to see how to integrate this function and the related active learning strategy.

Model not running

I've created a project and added some data, but the model is not being retrained even after I label lots of data. These are the project settings:

  • Classifier: logistic regression
  • Selection Algorithm: least confident
  • Batch Size: 20 (I've also tested different batch sizes)
  • No IRR being used (I've also tested with different IRR values)
  • Number of samples: 1000 labeled and 10000 not labeled
  • Number of labels: 23

Is there something I'm doing wrong? When is the model supposed to be retrained?

Issue when uploading more data after annotation completion

If a user already annotated all the data in the pool and update the project by uploading more data to annotate, the message "No more data to label at this time. Please check back later" is still displayed in the "Annotate data" tab. However, the newly uploaded data appears in the "Fix Skew" tab as unlabeled data.

If the user didn't finish to annotate all the pool, uploading more data to annotate seems to work.

Add instructions for deploying in production

I want to deploy this in production so that task workers (in this case friends) can help me label data. It would be great if someone did this and documented it. Since nobody has, I suppose that will be me.

But by all means, if anyone has done this - please let me know!

E: Unable to locate package msodbcsql17

When I do a clean checkout of master and run docker compose build as specified in the docs, I end up with the following output:

[...]
3.191 Fetched 65.5 kB in 0s (726 kB/s)
3.211 Selecting previously unselected package netcat-traditional.
(Reading database ... 24588 files and directories currently installed.)
3.227 Preparing to unpack .../netcat-traditional_1.10-41.1_arm64.deb ...
3.229 Unpacking netcat-traditional (1.10-41.1) ...
3.259 Setting up netcat-traditional (1.10-41.1) ...
3.266 update-alternatives: using /bin/nc.traditional to provide /bin/nc (nc) in auto mode
3.292 Reading package lists...
3.715 Building dependency tree...
3.814 Reading state information...
3.882 E: Unable to locate package msodbcsql17
------
failed to solve: process "/bin/sh -c apt-get update && apt-get install -y netcat-traditional &&     ACCEPT_EULA=Y apt-get install -y msodbcsql17 &&     apt-get install -y unixodbc-dev" did not complete successfully: exit code: 100

According to these Microsoft docs I found it seems backend/docker/Dockerfile is doing the right thing.

Label's that are Numbers appear to cause problems...

I'm looking at SMART for labeling search engine queries and their results. My labels are 0 and 1, and I get a parse error when uploading my data:

AttributeError at /projects/add/

'float' object has no attribute 'encode'
Request Method: POST
http://localhost:8000/projects/add/
3.2.9
AttributeError
'float' object has no attribute 'encode'
/code/core/utils/util.py, line 39, in md5_hash
/usr/local/bin/python

Getting Errors from Skipped tab

Hi,
Many thanks for developing such a wonderfull application.
When i navigate to skipped tab while annotating , i get the following errors

  1. TypeError: "prevComponentInstance is null
  2. TypeError: sortedData is undefined

Few warnings such as

  1. Warning: Failed prop type: ReactTable: prop type TableComponent is invalid; it must be a function, usually from React.PropTypes.
    2.Warning: Failed prop type: ReactTable: prop type TheadComponent is invalid; it must be a function, usually from React.PropTypes.
    3.Warning: Failed prop type: ReactTable: prop type PadRowComponent is invalid; it must be a function, usually from React.PropTypes.

Issues with Batch Size

I have uploaded close to 15000 records and i can only a batch size of 150 as specified, How can i see the remaining tweets?

Display newlines for project descriptions, tag descriptions and annotation cards

I need to display formatted content, and this requires that I have newlines for my project description, tag/label descriptions and especially the annotation cards themselves.

For example, I have a description like this:

This form is for labeling open source projects created by Amazon and its affiliates. You will look at the project url, description and a portion of the README and choose one of 4 categories that fits best.

The categories are:

1) API - this project is an API library that can only be used to access an Amazon Web Services (AWS) API
2) EDUCATION - this project is an educational project or example of how to use an Amazon Web Services (AWS) API or other Amazon product
3) GENERAL - this project is a general purpose open source project with utility for the public whether they use Amazon commercial products or not
4) DATASET - this project is a dataset published by researchers as part of their research

I have cards that look like this:

https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs

The Alexa Skills Kit SDK for Node.js helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.

Alexa Skills Kit SDK for Node.js *[English](  | [日本語](  The ASK SDK v2 for Node.js makes it easier for you to build highly engaging skills by allowing you to spend more time on implementing features and less on writing boilerplate code. The ASK SMAPI SDK for Node.js provides developers a library for easily interacting with all Skill Management APIs (SMAPI), including interaction model, intent request history, and in-skill purchasing APIs. ## Package Versions | Package       | NPM           | | ------------- | ------------- | |[ask-sdk](  [![npm](  [![npm](  |[ask-sdk-core](  [![npm](  [![npm](  |[ask-sdk-dynamodb-persistence-adapter](  [![npm](  [![npm](  |[ask-sdk-runtime](  [![npm](  [![npm](  |[ask-sdk-s3-persistence-adapter](  [![npm](  [![npm](  |[ask-sdk-v1adapter](  [![npm](  |[ask-sdk-express-adapter](  [![npm](  |[ask-smapi-sdk](  [![npm](  [![npm](  ## Alexa Features Supported by SDK - [Amazon Pay](  - [Audio Player](  - [Display – Body templates for devices with a screen](

Without newlines I can't show all of this to users because they can't see what is the URL and what is the description and what is the README.

I have just added this feature and will submit a PR shortly :)

Unable to handle multi-line text

Super useful tool. unfortunately, it does not appear to be able to handle multi-line text in the CSV.

Example data

Text,Label
"Line1
Line2",1

This renders correctly in Excel and pandas also reads it as expected. However, in SMART, this raises the following error:

Environment:


Request Method: POST
Request URL: http://xxxxxxxxxxx:xxx/projects/add/?X-Progress-ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx

Django Version: 1.11.4
Python Version: 3.5.3
Installed Applications:
['core.apps.CoreConfig',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django_extensions',
 'django_celery_results',
 'rest_framework',
 'rest_framework.authtoken',
 'rest_auth',
 'django.contrib.sites',
 'allauth',
 'allauth.account',
 'postgres_stats',
 'formtools',
 'rest_auth.registration',
 'rest_framework_swagger',
 'webpack_loader',
 'progressbarupload']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python3.5/site-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/mixins.py" in dispatch
  56.         return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.5/site-packages/formtools/wizard/views.py" in dispatch
  248.         response = super(WizardView, self).dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.5/site-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/usr/local/lib/python3.5/site-packages/formtools/wizard/views.py" in post
  301.         if form.is_valid():

File "/usr/local/lib/python3.5/site-packages/django/forms/forms.py" in is_valid
  183.         return self.is_bound and not self.errors

File "/usr/local/lib/python3.5/site-packages/django/forms/forms.py" in errors
  175.             self.full_clean()

File "/usr/local/lib/python3.5/site-packages/django/forms/forms.py" in full_clean
  384.         self._clean_fields()

File "/usr/local/lib/python3.5/site-packages/django/forms/forms.py" in _clean_fields
  405.                     value = getattr(self, 'clean_%s' % name)()

File "/code/core/forms.py" in clean_data
  254.         return clean_data_helper(data, labels)

File "/code/core/forms.py" in clean_data_helper
  70.             "but step 2 was given {1}".format(', '.join(labels_in_data), ', '.join(supplied_labels))

Exception Type: TypeError at /projects/add/
Exception Value: sequence item 0: expected str instance, numpy.int64 found

WebpackError at /accounts/login/

OS: Ubuntu 20.04
Problem: Followed installation instructions successfully (no errors during building process), but encountered with WebpackError at /accounts/login/.
Any suggestions how to solve this?

WebpackError at /accounts/login/

            ModuleBuildError in 
            Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ../node_modules/sass-loader/dist/cjs.js):
SassError: Invalid CSS after "...     floor(math": expected expression (e.g. 1px, bold), was ".div($grid-gutter-w"
        on line 369 of node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss
        from line 8 of node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss
        from line 2 of src/styles/_base.scss
        from line 5 of src/styles/_includes.scss
        from line 2 of src/styles/smart.scss
>> vbar-padding-horizontal:        floor(math.div($grid-gutter-width, 2)) !defa
   ------------------------------------------^
at processResult (/code/node_modules/webpack/lib/NormalModule.js:753:19)
at /code/node_modules/webpack/lib/NormalModule.js:855:5
at /code/node_modules/loader-runner/lib/LoaderRunner.js:399:11
at /code/node_modules/loader-runner/lib/LoaderRunner.js:251:18
at context.callback (/code/node_modules/loader-runner/lib/LoaderRunner.js:124:13)
at Object.callback (/code/node_modules/sass-loader/dist/index.js:54:7)
at Object.done [as callback] (/code/node_modules/neo-async/async.js:8069:18)
at options.error (/code/node_modules/node-sass/lib/index.js:293:32)
        </pre>
Request Method: GET
http://localhost:8000/accounts/login/?next=/projects/
3.2.9
WebpackError
ModuleBuildError in Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ../node_modules/sass-loader/dist/cjs.js): SassError: Invalid CSS after "... floor(math": expected expression (e.g. 1px, bold), was ".div($grid-gutter-w" on line 369 of node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss from line 8 of node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss from line 2 of src/styles/_base.scss from line 5 of src/styles/_includes.scss from line 2 of src/styles/smart.scss >> vbar-padding-horizontal: floor(math.div($grid-gutter-width, 2)) !defa ------------------------------------------^ at processResult (/code/node_modules/webpack/lib/NormalModule.js:753:19) at /code/node_modules/webpack/lib/NormalModule.js:855:5 at /code/node_modules/loader-runner/lib/LoaderRunner.js:399:11 at /code/node_modules/loader-runner/lib/LoaderRunner.js:251:18 at context.callback (/code/node_modules/loader-runner/lib/LoaderRunner.js:124:13) at Object.callback (/code/node_modules/sass-loader/dist/index.js:54:7) at Object.done [as callback] (/code/node_modules/neo-async/async.js:8069:18) at options.error (/code/node_modules/node-sass/lib/index.js:293:32)
/usr/local/lib/python3.8/site-packages/webpack_loader/loader.py, line 117, in get_bundle
/usr/local/bin/python
3.8.12
['/code', '/code', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages']
Tue, 08 Mar 2022 06:44:18 +0000

Error during template rendering
In template /code/smart/templates/base.html, error at line 20

ModuleBuildError in Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ../node_modules/sass-loader/dist/cjs.js): SassError: Invalid CSS after "... floor(math": expected expression (e.g. 1px, bold), was ".div($grid-gutter-w" on line 369 of node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss from line 8 of node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss from line 2 of src/styles/_base.scss from line 5 of src/styles/_includes.scss from line 2 of src/styles/smart.scss >> vbar-padding-horizontal: floor(math.div($grid-gutter-width, 2)) !defa ------------------------------------------^ at processResult (/code/node_modules/webpack/lib/NormalModule.js:753:19) at /code/node_modules/webpack/lib/NormalModule.js:855:5 at /code/node_modules/loader-runner/lib/LoaderRunner.js:399:11 at /code/node_modules/loader-runner/lib/LoaderRunner.js:251:18 at context.callback (/code/node_modules/loader-runner/lib/LoaderRunner.js:124:13) at Object.callback (/code/node_modules/sass-loader/dist/index.js:54:7) at Object.done [as callback] (/code/node_modules/neo-async/async.js:8069:18) at options.error (/code/node_modules/node-sass/lib/index.js:293:32)

Service 'smart_frontend' failed to build

Hi, i'm having this error when building the image, I think it is some problem with the Python version.

=> ERROR [7/7] RUN yarn add --force node-sass                                                                                                                                                       7.6s 
------                                                                                                                                                                                                    
 > [7/7] RUN yarn add --force node-sass:                                                                                                                                                                  
#11 0.282 yarn add v1.22.19                                                                                                                                                                               
#11 0.333 [1/4] Resolving packages...                                                                                                                                                                     
#11 1.626 [2/4] Fetching packages...                                                                                                                                                                      
#11 3.579 [3/4] Linking dependencies...                                                                                                                                                                   
#11 3.581 warning " > [email protected]" has incorrect peer dependency "webpack@2 || 3 || 4".
#11 3.581 warning " > [email protected]" has incorrect peer dependency "webpack@^4.0.0".
#11 5.812 [4/4] Rebuilding all packages...
#11 7.420 error /code/node_modules/node-sass: Command failed.
#11 7.420 Exit code: 1
#11 7.420 Command: node scripts/build.js
#11 7.420 Arguments: 
#11 7.420 Directory: /code/node_modules/node-sass
#11 7.420 Output:
#11 7.420 Building: /usr/local/bin/node /code/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
#11 7.420 gyp info it worked if it ends with ok
#11 7.420 gyp verb cli [
#11 7.420 gyp verb cli   '/usr/local/bin/node',
#11 7.420 gyp verb cli   '/code/node_modules/node-gyp/bin/node-gyp.js',
#11 7.420 gyp verb cli   'rebuild',
#11 7.420 gyp verb cli   '--verbose',
#11 7.420 gyp verb cli   '--libsass_ext=',
#11 7.420 gyp verb cli   '--libsass_cflags=',
#11 7.420 gyp verb cli   '--libsass_ldflags=',
#11 7.420 gyp verb cli   '--libsass_library='
#11 7.420 gyp verb cli ]
#11 7.420 gyp info using [email protected]
#11 7.420 gyp info using [email protected] | linux | arm64
#11 7.420 gyp verb command rebuild []
#11 7.420 gyp verb command clean []
#11 7.420 gyp verb clean removing "build" directory
#11 7.420 gyp verb command configure []
#11 7.420 gyp verb find Python Python is not set from command line or npm configuration
#11 7.420 gyp verb find Python Python is not set from environment variable PYTHON
#11 7.420 gyp verb find Python checking if "python3" can be used
#11 7.420 gyp verb find Python - executing "python3" to get executable path
#11 7.420 gyp verb find Python - executable path is "/usr/bin/python3"
#11 7.420 gyp verb find Python - executing "/usr/bin/python3" to get version
#11 7.420 gyp verb find Python - version is "3.5.3"
#11 7.420 gyp verb find Python - version is 3.5.3 - should be >=3.6.0
#11 7.420 gyp verb find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
#11 7.420 gyp verb find Python checking if "python" can be used
#11 7.420 gyp verb find Python - executing "python" to get executable path
#11 7.420 gyp verb find Python - executable path is "/usr/bin/python"
#11 7.420 gyp verb find Python - executing "/usr/bin/python" to get version
#11 7.420 gyp verb find Python - version is "2.7.13"
#11 7.420 gyp verb find Python - version is 2.7.13 - should be >=3.6.0
#11 7.420 gyp verb find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
#11 7.420 gyp ERR! find Python 
#11 7.420 gyp ERR! find Python Python is not set from command line or npm configuration
#11 7.420 gyp ERR! find Python Python is not set from environment variable PYTHON
#11 7.420 gyp ERR! find Python checking if "python3" can be used
#11 7.420 gyp ERR! find Python - executable path is "/usr/bin/python3"
#11 7.420 gyp ERR! find Python - version is "3.5.3"
#11 7.420 gyp ERR! find Python - version is 3.5.3 - should be >=3.6.0
#11 7.420 gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
#11 7.420 gyp ERR! find Python checking if "python" can be used
#11 7.420 gyp ERR! find Python - executable path is "/usr/bin/python"
#11 7.420 gyp ERR! find Python - version is "2.7.13"
#11 7.420 gyp ERR! find Python - version is 2.7.13 - should be >=3.6.0
#11 7.420 gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
#11 7.420 gyp ERR! find Python 
#11 7.420 gyp ERR! find Python **********************************************************
#11 7.420 gyp ERR! find Python You need to install the latest version of Python.
#11 7.420 gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
#11 7.420 gyp ERR! find Python you can try one of the following options:
#11 7.420 gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
#11 7.420 gyp ERR! find Python   (accepted by both node-gyp and npm)
#11 7.420 gyp ERR! find Python - Set the environment variable PYTHON
#11 7.420 gyp ERR! find Python - Set the npm configuration variable python:
#11 7.420 gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
#11 7.420 gyp ERR! find Python For more information consult the documentation at:
#11 7.420 gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
#11 7.420 gyp ERR! find Python **********************************************************
#11 7.420 gyp ERR! find Python 
#11 7.420 gyp ERR! configure error 
#11 7.420 gyp ERR! stack Error: Could not find any Python installation to use
#11 7.420 gyp ERR! stack     at PythonFinder.fail (/code/node_modules/node-gyp/lib/find-python.js:330:47)
#11 7.420 gyp ERR! stack     at PythonFinder.runChecks (/code/node_modules/node-gyp/lib/find-python.js:159:21)
#11 7.420 gyp ERR! stack     at PythonFinder.<anonymous> (/code/node_modules/node-gyp/lib/find-python.js:266:16)
#11 7.420 gyp ERR! stack     at PythonFinder.execFileCallback (/code/node_modules/node-gyp/lib/find-python.js:297:7)
#11 7.420 gyp ERR! stack     at ChildProcess.exithandler (child_process.js:374:7)
#11 7.420 gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
#11 7.420 gyp ERR! stack     at maybeClose (internal/child_process.js:1088:16)
#11 7.420 gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:296:5)
#11 7.420 gyp ERR! System Linux 5.10.104-linuxkit
#11 7.420 gyp ERR! command "/usr/local/bin/node" "/code/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
#11 7.420 gyp ERR! cwd /code/node_modules/node-sass
#11 7.420 gyp ERR! node -v v14.19.3
#11 7.420 gyp ERR! node-gyp -v v8.4.1
#11 7.420 gyp ERR! not ok 
#11 7.420 Build failed with error code: 1
#11 7.421 info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
------
executor failed running [/bin/sh -c yarn add --force node-sass]: exit code: 1
ERROR: Service 'smart_frontend' failed to build : Build failed

'SMART' Equivalent for image datasets

Thanks for this useful tool. I know that this is not the right place to ask but is there any 'SMART' equivalent for image datasets.
Something that allow parallel annotation efforts and monitoring and open source also.

Using SMART for judging search queries?

Hi, I steward Quepid (github.com/o19s/quepid), and we're evaluating a better solution for rating query/document pairs. We have a basic rating interface, but it is definitely not a good UX for coders..

I'm debating building a more robust solution, however it appears that SMART does much of what we want.. I poked at it and the part that I struggle with is that I need to label query/doc pairs as a 0,1,2,3 or a 0,1... SO it's not labeling per se, it's judgement...

Is that too far away from what SMART does?

Eric

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.