Skip to content

Commit

Permalink
docs: DOC-183: Move troubleshooting docs to support center articles (H…
Browse files Browse the repository at this point in the history
…umanSignal#5414)

docs: DOC-183: Move troublshooting docs to support center articles
  • Loading branch information
caitlinwheeless authored Feb 1, 2024
1 parent 1f46d8e commit 7aec2d7
Show file tree
Hide file tree
Showing 10 changed files with 22 additions and 548 deletions.
98 changes: 2 additions & 96 deletions docs/source/guide/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,102 +1,8 @@
---
title: Troubleshoot labeling issues
short: Troubleshooting
type: guide
tier: all
order: 220
order_enterprise: 120
section: "Labeling"
hide_sidebar: true
meta_title: Troubleshoot labeling issues
meta_description: Troubleshoot common issuesTroubleshoot machine learning with Label Studio configuration and performance so that you can return to your machine learning and data science projects.
---

If you encounter an issue while labeling, see if your issue is listed below. If you can't find your issue here, check our other troubleshooting pages:

- [Troubleshoot machine learning](ml_troubleshooting) if you're using an ML backend.
- [Troubleshoot import and export issues](import_troubleshoot) for issues related to loading or syncing data from cloud storage (including CORS issues) and pre-annotations.
- [Troubleshoot project issue](project_troubleshoot) for general project issues.



## Slowness while labeling

If you're using the SQLite database and another user imports a large volume of data, labeling might slow down for other users on the server due to the database load.

If you want to upload a large volume of data (thousands of items), consider doing that at a time when people are not labeling or use a different database backend such as PostgreSQL or Redis. You can run Docker Compose from the root directory of Label Studio to use PostgreSQL: `docker-compose up -d`, or see [Sync data from cloud or database storage](storage.html).


## Image/audio/resource loading error while labeling

The most common mistake while resource loading is <b>CORS</b> (Cross-Origin Resource Sharing) problem or Cross Domain. When you are trying to fetch a picture from external hosting it could be blocked by security reasons. Go to browser console (Ctrl + Shift + i for Chrome) and check errors there. Typically, this problem is solved by the external host setup.

<br>
<center>
<img src='../images/cors-lsf-error.png' style="max-width:300px; width: 100%; opacity: 0.8">
<br/><br/>
<img src='/images/cors-error.png' style="max-width:500px; width: 100%; opacity: 0.8">
<br/><br/>
<img src='/images/cors-error-2.png' style="max-width:500px; width: 100%; opacity: 0.8">
</center>

- If you have access to the hosting server as admin then you need to allow CORS for the web server. For example, on nginx, you can try to add <a href="javascript:void(0)" onclick="$('#nginx-cors-code').toggle()">these lines</a> to `/etc/nginx/nginx.conf` into your `location` section:
```
location <YOUR_LOCATION> {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
}
```

- If you use Amazon S3 with Label Studio, see [Troubleshoot CORS and access problems](storage.html#Troubleshoot-CORS-and-access-problems).
- If you use Google Cloud Storage with Label Studio, see [Troubleshoot CORS and access problems](storage.html#Troubleshoot-CORS-and-access-problems).
- If you serve your data from an HTTP server created like follows: `python -m http.server 8081 -d`, run the following from the command line:
```bash
npm install http-server -g
http-server -p 3000 --cors
```

Not every host supports CORS setup, but you can to try locate CORS settings in the admin area of your host configuration.

<br/>

## Audio wave doesn't match annotations

If you find that after annotating audio data, the visible audio wave doesn't match the timestamps and the sound, try converting the audio to a different format. For example, if you are annotating mp3 files, try converting them to wav files.

```bash
ffmpeg -y -i audio.mp3 -ar 8k -ac 1 audio.wav
```

## Predictions aren't visible to annotators

See [Troubleshoot pre-annotations](import_troubleshoot#Troubleshoot-pre-annotations) to investigate possible reasons why predictions don't show up.

## Can't label PDF data

Label Studio does not support labeling PDF files directly. However, you can convert files to HTML using your PDF viewer or another tool and label the PDF as part of the HTML. See an example labeling configuration in the [Label Studio playground](/playground/?config=%3CView%3E%3Cbr%3E%20%20%3CHyperText%20name%3D%22pdf%22%20value%3D%22%24pdf%22%2F%3E%3Cbr%3E%3Cbr%3E%20%20%3CHeader%20value%3D%22Rate%20this%20article%22%2F%3E%3Cbr%3E%20%20%3CRating%20name%3D%22rating%22%20toName%3D%22pdf%22%20maxRating%3D%2210%22%20icon%3D%22star%22%20size%3D%22medium%22%20%2F%3E%3Cbr%3E%3Cbr%3E%20%20%3CChoices%20name%3D%22choices%22%20choice%3D%22single-radio%22%20toName%3D%22pdf%22%20showInline%3D%22true%22%3E%3Cbr%3E%20%20%20%20%3CChoice%20value%3D%22Important%20article%22%2F%3E%3Cbr%3E%20%20%20%20%3CChoice%20value%3D%22Yellow%20press%22%2F%3E%3Cbr%3E%20%20%3C%2FChoices%3E%3Cbr%3E%3C%2FView%3E%3Cbr%3E).


For troubleshooting information, see the [HumanSignal support center](https://support.humansignal.com/hc/en-us).
2 changes: 1 addition & 1 deletion docs/source/guide/custom_metric.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Set up a custom agreement metric for a specific project in Label Studio Enterpri
4. Write or paste code defining a custom agreement metric in the text box.
5. Click **Save & Deploy**.

For information on troubleshooting custom metrics, see [Troubleshoot agreements](quality_troubleshoot).
For information on troubleshooting custom metrics, see [Troubleshooting Agreements & Quality Control](https://support.humansignal.com/hc/en-us/sections/23700954373261-Agreements-Quality-Control) in the HumanSignal support center.

## Set up permissions for a private cloud custom agreement metric

Expand Down
Loading

0 comments on commit 7aec2d7

Please sign in to comment.