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
2 changes: 1 addition & 1 deletion docs/source/guide/ml_tutorials/yolo_timeline_labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ The cache is used for incremental training on the fly and prediction speedup.
- **Early stop on training data**: The model uses early stopping based on the F1 score and accuracy on the training data. This may lead to overfitting on the training data. It was made because of the lack of validation data when updating on one annotation.
- **YOLO model limitations**: The model uses a pre-trained YOLO model trained on object classification tasks for feature extraction, which may not be optimal for all use cases such as event detection. This approach doesn't tune the YOLO model, it trains only the LSTM piece upon the YOLO last layer.
- **Label balance**: The model may struggle with imbalanced labels. Ensure that the labels are well-distributed in the training data. Consider modifying the loss function (`BCEWithLogitsLoss`) and using class pos weights to address this issue.
- **Training on all daa**: Training on all data is not yet implemented, so the model trains only on the last annotation. See `timeline_labels.py::fit()` for more details.
- **Training on all data**: Training on all data is not yet implemented, so the model trains only on the last annotation. See `timeline_labels.py::fit()` for more details.

## Example use case: detecting a ball in football videos

Expand Down
2 changes: 1 addition & 1 deletion docs/source/guide/project_settings_lse.md
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,7 @@ And the following actions are available from the overflow menu next to a connect
| Action | Description |
| ------------- | ------------ |
| **Start Training** | Manually initiate training. Use this action if you want to control when the model training occurs, such as after a specific number of annotations have been collected or at certain intervals. |
| **Send Test Request** | (Available from the overflow menu next to the connected model)<br /><br />Use this for troubleshooting and sending a test resquest to the connected model. |
| **Send Test Request** | (Available from the overflow menu next to the connected model)<br /><br />Use this for troubleshooting and sending a test request to the connected model. |
| **Edit** | Edit the model name, URL, and parameters. For more information, see [Connect a model to Label Studio](ml#Connect-a-model-to-Label-Studio). |
| **Delete** | Remove the connection to the model. |

Expand Down
2 changes: 1 addition & 1 deletion docs/source/plugins/pause_annotator.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ const MESSAGES = {
/**
* All Available rules are below.
*
* They recieve params and return function which recieves `items` and optional `field`.
* They receive params and return function which receives `items` and optional `field`.
* If condition is met it returns warning message. If not — returns `false`.
*/

Expand Down
4 changes: 2 additions & 2 deletions docs/source/templates/response_selection.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ You can add a [header](/tags/header.html) to provide instructions to the annotat
<Header value="Choose a response" />
```

Use a new [View](/tags/view.html) tag to control the dsiplay of text and choices on the labeling interface:
Use a new [View](/tags/view.html) tag to control the display of text and choices on the labeling interface:
```xml
<View style="display: flex">
```
Expand Down Expand Up @@ -87,4 +87,4 @@ Use the [Choices](/tags/choices.html) control tag to allow annotators to choose
- [Header](/tags/header.html)
- [View](/tags/view.html)
- [Text](/tags/text.html)
- [Choices](/tags/choices.html)
- [Choices](/tags/choices.html)
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ repo_url: https://github.com/HumanSignal/awesome-label-studio-config/tree/main/l

<img src="/images/templates/two-level-sentiment-analysis-of-x-twitter-posts.jpg" alt="" class="gif-border" width="552px" height="408px" />

This labeling config lets you assign a sentiment (Positive, Negative, or Neutral) to X / Twitter post. After picking a sentiment, a second-level classification appears to categorize the text as Descriptive, Emotional, Mixed, Ambigous, or Sarcams. The labeling interface is styled to look like a X / Twitter post.
This labeling config lets you assign a sentiment (Positive, Negative, or Neutral) to X / Twitter post. After picking a sentiment, a second-level classification appears to categorize the text as Descriptive, Emotional, Mixed, Ambiguous, or Sarcasm. The labeling interface is styled to look like a X / Twitter post.

## Labeling Configuration

```html
<View>
<!-- CSS fix for the legacy plaground -->
<!-- CSS fix for the legacy playground -->
<Style>
.htx-text{padding:0; background: transparent; border:none;}
</Style>
Expand Down Expand Up @@ -95,8 +95,8 @@ This labeling config lets you assign a sentiment (Positive, Negative, or Neutral
<Choice value="Descriptive" />
<Choice value="Emotional" hint="Click on it if it shows moderate to strong sentiment" />
<Choice value="Mixed" hint="Click on it if multiple conflicting sentiments are present"/>
<Choice value="Ambigous" hint="Click on it if it is irrelevant or unclear"/>
<Choice value="Sarcams" hint="Click on it if it shows ironic or sarcastic content"/>
<Choice value="Ambiguous" hint="Click on it if it is irrelevant or unclear"/>
<Choice value="Sarcasm" hint="Click on it if it shows ironic or sarcastic content"/>
</Choices>
</View>
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ This is the label config from the [Evaluate Production Conversations for RLHF
](https://docs.humansignal.com/templates/chat_rlhf) example. It includes:
- A chat interface for viewing conversations
- Overall quality of message rating
- Additinal comments
- Additional comments


```python
Expand Down
2 changes: 1 addition & 1 deletion label_studio/io_storages/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ These optimizations ensure that the Proxy API remains responsive and resource-ef

## Multiple Storages and URL Resolving

There are use cases where multiple storages can/must be used in a single project. This can cause some confusion as to which storage gets used when. Here are some common cases and how to set up mutliple storages properly.
There are use cases where multiple storages can/must be used in a single project. This can cause some confusion as to which storage gets used when. Here are some common cases and how to set up multiple storages properly.

### Case 1 - Tasks Referencing Other Buckets
* bucket-A containing JSON tasks
Expand Down
8 changes: 4 additions & 4 deletions label_studio/io_storages/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,15 +126,15 @@ class StorageObject:

@classmethod
def bulk_create(
cls, task_datas: list[dict], key, row_indexes: list[int] | None = None, row_groups: list[int] | None = None
cls, task_data: list[dict], key, row_indexes: list[int] | None = None, row_groups: list[int] | None = None
) -> list['StorageObject']:
if row_indexes is None:
row_indexes = [None] * len(task_datas)
row_indexes = [None] * len(task_data)
if row_groups is None:
row_groups = [None] * len(task_datas)
row_groups = [None] * len(task_data)
return [
cls(key=key, row_index=row_idx, row_group=row_group, task_data=task_data)
for row_idx, row_group, task_data in zip(row_indexes, row_groups, task_datas)
for row_idx, row_group, task_data in zip(row_indexes, row_groups, task_data)
]


Expand Down
6 changes: 3 additions & 3 deletions web/libs/editor/LSF.init.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LSF init

Different thoughts and investingations related to LSF init.
Different thoughts and investigations related to LSF init.

## App render

Expand Down Expand Up @@ -136,7 +136,7 @@ prepareAnnotation -> fixBrokenAnnotation -> some changes on result json

deserializeSingleResult for every result in JSON — some area/result/state manipulations,
should be no side effects.
it calls `updateAppearenceFromState` for merged labels and results (only Video tag regions),
it calls `updateAppearanceFromState` for merged labels and results (only Video tag regions),
but this should only be called on selected annotation.

cleanClassificationAreas — WUT???
Expand Down Expand Up @@ -180,7 +180,7 @@ can be changed to usual method called only once.

We have the concept of selecting annotation, when we not just assign it as current one, but also update data in tags, trigger external event, load annotation history, setup hotkeys, set initial values.

Previosly it was required to select every annotation to do some extra work in regions/tags inside it because of some quirky legacy code. I fixed what I found so far and ran all possible tests — they all are green, so consider this change mostly safe.
Previously it was required to select every annotation to do some extra work in regions/tags inside it because of some quirky legacy code. I fixed what I found so far and ran all possible tests — they all are green, so consider this change mostly safe.

Benefits:
- improved performance as only one annotation is selected, reducing number of calculations and renders
Expand Down
16 changes: 8 additions & 8 deletions web/libs/editor/examples/sentiment_analysis/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
0,
0
],
"reviewText": "I now use this cable to run from the output of my pedal chain to the input of my Fender Amp. After I bought Monster Cable to hook up my pedal board I thought I would try another one and update my guitar. I had been using a high end Planet Waves cable that I bought in the 1980's... Once I found out the input jacks on the new Monster cable didn't fit into the Fender Strat jack I was a little disappointed... I didn't return it and as stated I use it for the output on the pedal board. Save your money... I went back to my Planet Waves Cable...I payed $30.00 back in the eighties for the Planet Waves which now comes in at around $50.00. What I'm getting at is you get what you pay for. I thought Waves was a lot of money back in the day...but I haven't bought a guitar cable since this one...20 plus years and still working...Planet Waves wins.",
"reviewText": "I now use this cable to run from the output of my pedal chain to the input of my Fender Amp. After I bought Monster Cable to hook up my pedal board I thought I would try another one and update my guitar. I had been using a high end Planet Waves cable that I bought in the 1980's... Once I found out the input jacks on the new Monster cable didn't fit into the Fender Strat jack I was a little disappointed... I didn't return it and as stated I use it for the output on the pedal board. Save your money... I went back to my Planet Waves Cable...I paid $30.00 back in the eighties for the Planet Waves which now comes in at around $50.00. What I'm getting at is you get what you pay for. I thought Waves was a lot of money back in the day...but I haven't bought a guitar cable since this one...20 plus years and still working...Planet Waves wins.",
"overall": 3,
"summary": "Didn't fit my 1996 Fender Strat...",
"unixReviewTime": 1353024000,
Expand Down Expand Up @@ -313,7 +313,7 @@
3,
3
],
"reviewText": "I've been using these cables for more than 4 months and they are holding up pretty well. For years I used seemingly indestructable guitar cables that were made for me by an electrician friend. When they finally gave out, I got in the habit of using the no-name cables that are always on display near the register at Guitar Center- really more of an impulse buy than something I put any thought into. After the third or fourth Guitar Center cable failed from light use I decided to try these cables. Not only are they cheaper but they seem to be holding up better. I am not terribly hard on my gear but my cables tend to get twisted as I move around and the cheaper ones eventually fail mid-cable. I don't mind spending a few extra dollars if the cable is a little more durable. This cable is actually cheaper- $12 or so shipped- and it's holding up pretty well. These are actually very reasonably priced for 18' cables. There is some kind of limited life warantee on this product but I haven't needed it. Five stars for a nicely made 18 foot guitar cable that costs $12 shipped!Incidentally- these cables are shielded and are meant to connect your instrument to your amp's input. Do not use these to connect an amplifier to a speaker cab. You want to use unshielded cables for that purpose.Edit- More than 6 months has passed and this cable is functioning without any issues. The price on these things has gone up significantly and although the cable is highly recommended, there are probably better values from Hosa, Monster or Planet Waves-",
"reviewText": "I've been using these cables for more than 4 months and they are holding up pretty well. For years I used seemingly indestructable guitar cables that were made for me by an electrician friend. When they finally gave out, I got in the habit of using the no-name cables that are always on display near the register at Guitar Center- really more of an impulse buy than something I put any thought into. After the third or fourth Guitar Center cable failed from light use I decided to try these cables. Not only are they cheaper but they seem to be holding up better. I am not terribly hard on my gear but my cables tend to get twisted as I move around and the cheaper ones eventually fail mid-cable. I don't mind spending a few extra dollars if the cable is a little more durable. This cable is actually cheaper- $12 or so shipped- and it's holding up pretty well. These are actually very reasonably priced for 18' cables. There is some kind of limited life warranty on this product but I haven't needed it. Five stars for a nicely made 18 foot guitar cable that costs $12 shipped!Incidentally- these cables are shielded and are meant to connect your instrument to your amp's input. Do not use these to connect an amplifier to a speaker cab. You want to use unshielded cables for that purpose.Edit- More than 6 months has passed and this cable is functioning without any issues. The price on these things has gone up significantly and although the cable is highly recommended, there are probably better values from Hosa, Monster or Planet Waves-",
"overall": 5,
"summary": "So far so good. Will revisit at the 6 month mark ;)",
"unixReviewTime": 1363564800,
Expand Down Expand Up @@ -712,7 +712,7 @@
0,
0
],
"reviewText": "Realtively inexpensive patch cable for electric guitar.I have had it for a few months and so far it has held up pretty well",
"reviewText": "Relatively inexpensive patch cable for electric guitar.I have had it for a few months and so far it has held up pretty well",
"overall": 5,
"summary": "very nice cable",
"unixReviewTime": 1401235200,
Expand Down Expand Up @@ -776,7 +776,7 @@
0,
0
],
"reviewText": "Seems sturdy enough, and no noise issues, so I'm pretty much satified with it; it doesn't leave the house so I'm not asking it to handle a lot, but with reasonable care it should last a while.",
"reviewText": "Seems sturdy enough, and no noise issues, so I'm pretty much satisfied with it; it doesn't leave the house so I'm not asking it to handle a lot, but with reasonable care it should last a while.",
"overall": 5,
"summary": "Works wonderfully, no noise",
"unixReviewTime": 1372291200,
Expand Down Expand Up @@ -936,7 +936,7 @@
0,
0
],
"reviewText": "I use this cord in my church to run from my pedalboard to my amp (which is in a soundproof box). The cord is reliable and clean sounding. I like it and have used HOSA products in the past with confidence. Excellent cord. Hopefully this review will be usefull to you.",
"reviewText": "I use this cord in my church to run from my pedalboard to my amp (which is in a soundproof box). The cord is reliable and clean sounding. I like it and have used HOSA products in the past with confidence. Excellent cord. Hopefully this review will be useful to you.",
"overall": 5,
"summary": "great, affordable, cord",
"unixReviewTime": 1392163200,
Expand Down Expand Up @@ -1048,7 +1048,7 @@
0,
0
],
"reviewText": "Good quality guitar cord.Very low noise, repairable, effective strain releaf,thick rubber cover!! This is a great buy, under 10 bucks for a quality cord.Of course I just got it..it might not be durable but it looks durable.If I change my mind about anything I will update my review.For now, I would say, buy one!!Joe",
"reviewText": "Good quality guitar cord.Very low noise, repairable, effective strain relief,thick rubber cover!! This is a great buy, under 10 bucks for a quality cord.Of course I just got it..it might not be durable but it looks durable.If I change my mind about anything I will update my review.For now, I would say, buy one!!Joe",
"overall": 5,
"summary": "Good Quality",
"unixReviewTime": 1373068800,
Expand Down Expand Up @@ -1496,7 +1496,7 @@
0,
0
],
"reviewText": "I own lots of hosa cables they are cheap and quality is there. I've only recieved one bad cable out of around 50 or so. I use a lot of these guys and if they work when you get them, they havn't failed yet.",
"reviewText": "I own lots of hosa cables they are cheap and quality is there. I've only received one bad cable out of around 50 or so. I use a lot of these guys and if they work when you get them, they haven't failed yet.",
"overall": 5,
"summary": "hosa rocks",
"unixReviewTime": 1360886400,
Expand Down Expand Up @@ -1528,7 +1528,7 @@
0,
0
],
"reviewText": "the cable is great for connecting directly to the computer microphone to record live without a console or mixer...... its great i recomended",
"reviewText": "the cable is great for connecting directly to the computer microphone to record live without a console or mixer...... its great i recommended",
"overall": 5,
"summary": "good for direct connect to computer",
"unixReviewTime": 1372550400,
Expand Down
6 changes: 3 additions & 3 deletions web/libs/editor/src/components/HtxTextBox/HtxTextBox.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export class HtxTextBox extends React.Component {
// don't pass non-DOM props to Paragraph
onDelete: _,
isEditable: __,
isDeleteable: ___,
isDeletable: ___,
ignoreShortcuts: ____,
} = this.props;
const { height, value } = this.state;
Expand Down Expand Up @@ -173,7 +173,7 @@ export class HtxTextBox extends React.Component {
onChange,
onDelete,
isEditable,
isDeleteable,
isDeletable,
text,

// don't pass non-DOM props to Paragraph
Expand Down Expand Up @@ -212,7 +212,7 @@ export class HtxTextBox extends React.Component {
onClick={this.startEditing}
/>
)}
{isDeleteable && onDelete && (
{isDeletable && onDelete && (
<Button
type="text"
variant="negative"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export class BoundingBox {
}

/**
* Contructor
* Constructor
*
* _source_ might be any object that provides its dimensions and position
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,7 @@ const RegionControls: FC<RegionControlsProps> = injector(
{isDefined(item?.score) && item.score.toFixed(2)}
</div>
<div className={cn("outliner-item").elem("control").mod({ type: "dirty" }).toClassName()}>
{/* dirtyness is not implemented yet */}
{/* dirtiness is not implemented yet */}
</div>
<div className={cn("outliner-item").elem("control").mod({ type: "predict" }).toClassName()}>
{item?.origin === "prediction" && <IconSparks style={{ width: 18, height: 18 }} />}
Expand Down
Loading
Loading