Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
brnovasco committed May 24, 2024
2 parents 683d36f + bcfafdd commit b42a8d5
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 31 deletions.
24 changes: 14 additions & 10 deletions apps/deepsirius-ui/src/components/help.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import {
CoffeeIcon,
DatabaseIcon,
DumbbellIcon,
ExternalLinkIcon,
} from 'lucide-react';
import { ExternalLinkIcon } from 'lucide-react';
import NodeIcon from './workboard/node-components/node-icon';
import Link from 'next/link';
import React, { useState } from 'react';
import { useHotkeys } from 'react-hotkeys-hook';
Expand All @@ -24,7 +20,7 @@ function ExternalLinks() {
<div className="flex flex-row items-start justify-between gap-1">
<Link
className={cn(buttonVariants({ variant: 'outline' }), '')}
href="https://github.com/cnpem/deepsirius-ui/blob/main/README.md"
href="https://deepsirius.lnls.br/dive"
rel="noopener noreferrer"
target="_blank"
title="help"
Expand Down Expand Up @@ -68,17 +64,25 @@ function MinimapCaption() {
<div className="flex flex-row items-center justify-between gap-1 rounded-md border border-input p-2">
<div className="flex flex-col gap-1">
<div className="flex flex-row items-center gap-1">
<DatabaseIcon className="h-4 w-4" />
<NodeIcon nodeType="dataset" className="h-4 w-4" />
<p className="text-xs">Dataset</p>
</div>
<div className="flex flex-row items-center gap-1">
<DumbbellIcon className="h-4 w-4" />
<NodeIcon nodeType="augmentation" className="h-4 w-4" />
<p className="text-xs">Augmentation</p>
</div>
<div className="flex flex-row items-center gap-1">
<NodeIcon nodeType="network" className="h-4 w-4" />
<p className="text-xs">Network</p>
</div>
<div className="flex flex-row items-center gap-1">
<CoffeeIcon className="h-4 w-4" />
<NodeIcon nodeType="inference" className="h-4 w-4" />
<p className="text-xs">Inference</p>
</div>
<div className="flex flex-row items-center gap-1">
<NodeIcon nodeType="finetune" className="h-4 w-4" />
<p className="text-xs">Finetune</p>
</div>
</div>
<div className="flex flex-col gap-1">
<div className="flex flex-row items-center gap-1">
Expand Down
4 changes: 2 additions & 2 deletions apps/deepsirius-ui/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ const SessionOptions: React.FC = () => {
<StyledLink href={'/'} onClick={() => void signIn(undefined)}>
Sign in
</StyledLink>
<StyledLink href={'/dive'}>Documentation</StyledLink>
<StyledLink href={'https://deepsirius.lnls.br/dive'}>Documentation</StyledLink>
</>
);

return (
<>
<StyledLink href={user.route}>Workspaces</StyledLink>
<StyledLink href={'/dive'}>Documentation</StyledLink>
<StyledLink href={'https://deepsirius.lnls.br/dive'}>Documentation</StyledLink>
</>
);
};
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/concepts/augmentation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ to perform the augmentation transformations. A dataset in a `success` state can
be connected to the augmentation node by clicking and dragging a connection line
from the dataset node bottom side
[handle](/docs/concepts/workspace#node-handles) to the augmentation node top
handle, of you can create a connected augmentation node by clicking on the
handle. Or you can create a connected augmentation node by clicking on the
handle in the bottom side of the dataset node.

<ImageZoom
Expand Down
8 changes: 4 additions & 4 deletions apps/docs/content/docs/concepts/dataset.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import Node from "@/app/_components/node";
import { Callout } from "fumadocs-ui/components/callout";
import DatasetFormImage from "@/public/assets/node_form_dataset.png";
import PatchesImage from "@/public/assets/patches.png";
import RandomSamplitImage from "@/public/assets/random_sampling.png";
import RandomSamplingImage from "@/public/assets/random_sampling.png";

The dataset component is a [node](/docs/concepts/workspace#nodes) responsible
for creating a dataset for training the network. It creates a file containing a
collection of images and labels stored in an apropriate format for deep learning
collection of images and labels stored in an appropriate format for deep learning
data processing that will be used to train a network. When clicked, the dataset
will open a panel with a form to be filled in with the necessary information to
create a dataset. Let's go through the form fields:
Expand Down Expand Up @@ -71,7 +71,7 @@ Number of classes in the label file.

## Sample Size

The number of random patches extracted from a strategy (uniform avaible only)
The number of random patches extracted from a strategy (uniform available only)
used to create the train dataset, example below shows a blue cube patch
extracted to a pink cube for training. The size of the dataset depends on the
sample size. The larger the sample size, the heavier the file will become.
Expand All @@ -96,7 +96,7 @@ patch, this parameter adjusts its size.

<ImageZoom
alt="Random Sampling"
src={RandomSamplitImage}
src={RandomSamplingImage}
className="!my-0 w-full rounded-sm"
priority
/>
Expand Down
10 changes: 5 additions & 5 deletions apps/docs/content/docs/concepts/network.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ _Network node form from a network node connected to a dataset node._

In this section, you will set parameters that will directly affect the GPU
memory usage and the quality and velocity of training and select the deep
learning architeture. You must imagine that basically the training is trying to
learning architecture. You must imagine that basically the training is trying to
determine a function that can predict labels based on a dataset. Ideally, this
function must obtain the lowest possible error, also known as the optimum
condition (global minimum). Optimization is carried out by a variation of the
gradient descent method in order to find a minimum point of the error function.

## Network Type

### U-net 2D
### U-net - 2D

It is the best option for 2D training and works faster for 3D training. The
training strategy lies in the widespread use of augmentation data to use
Expand All @@ -61,11 +61,11 @@ segmented samples more efficiently.
/>
_U-net architecture (example for 32x32 pixels in the lowest resolution). Each blue
box corresponds to a multi-channel feature map. The number of channels is denoted
on top of the box. The x-y-size is provided at the lower left edge of the box. White
on top of the box. The xy-size is provided at the lower left edge of the box. White
boxes represent copied feature maps. The arrows denote the different operations.
Reference: [U-net 2D](https://link.springer.com/chapter/10.1007/978-3-319-24574-4_28)._

### V-net 3D
### V-net - 3D

It usually gives better results, but it demands more computationally. It is
trained to predict the segmentation of the entire volume at once, with an
Expand All @@ -74,7 +74,7 @@ optimized function to deal with the imbalance between background and foreground.
<ImageZoom alt="V-net" src={ParamVnet} className="!my-0 rounded-sm" priority />
_Schematic representation of Vnet network architecture. Reference: [V-net 3D](https://ieeexplore.ieee.org/abstract/document/7785132/)._

### U-net 3D
### U-net - 3D

Similar to V-net 3D but with less convolutions and layers, therefore, faster for
training and inference.
Expand Down
18 changes: 9 additions & 9 deletions apps/docs/content/docs/concepts/workspace.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,11 @@ explorer window where the user can navigate through the remote storage file
system and select the desired base path for the workspace files. The user can
only view and explore the files in the remote storage server that are allowed by
the user's credential permissions. By selecting a base path, the user will be
propted back to the workspace creation form with the selected path filled in the
prompted back to the workspace creation form with the selected path filled in the
Workspace path input field and needs to fill in the Workspace name input field
which will be the name of the new directory that will be created in the selected
base path. Before submitting the form, the user must choose the Slurm partition
where the workspace creation job will be sumitted. By now the user must know
where the workspace creation job will be submitted. By now the user must know
which partitions are available and scheduled for the user's group.

<ImageZoom
Expand All @@ -156,7 +156,7 @@ _Remote file navigation for selecting the the workspace base path._
If the submitted data is correct, the job will be submitted and when the job is
completed, the user will be redirected to the workspace page. There are many
reasons why the job could fail, even after the basic checks are done before
sumitting the job. From network errors, to the selection of an unauthorized
submitting the job. From network errors, to the selection of an unauthorized
queue and many types of server errors. After the job is submitted, the form will
be disabled and the interface will keep checking the job status until it is
completed or show an error if the job fails.
Expand Down Expand Up @@ -227,21 +227,21 @@ three main independent concepts that can be subdivided in 5 independent steps:
by the `run_inference` function in the ssc-deepsirius package cli.

Any combination of these steps that starts from 1 and ends in 3 mean a complete
processing workflow of the ssc-deepsirius package, with specific input and ouput
processing workflow of the ssc-deepsirius package, with specific input and output
parameters that results in the creation or transformation of data between them
on the remote storage server. So the results of a step can be used as input for
another processing step as an independent job without the user ocuppying the
another processing step as an independent job without the user occupying the
slurm queue and the cluster resources when preparing the data for the next step.

As the results of the steps are saved in the remote storage server, the user can
check the results of the steps or use it as it see fit, even if the interface is
check the results of the steps or use it as it sees fit, even if the interface is
not running - or start another variation of the analysis at any time during the
life cycle of the files.

These caracteristics of the ssc-deepsirius package are explored by the interface
These characteristics of the ssc-deepsirius package are explored by the interface
by describing the steps as nodes in a graph and the relations between them as
edges. By saving the state of the nodes and the edges in the database, the user
can load the workspace with the apropiate metadata telling a story of the
can load the workspace with the appropriate metadata telling a story of the
analysis and the state of the files in the remote storage server, thus being
able to continue the analysis and compare with other possible steps or
variations of the analysis at any time.
Expand Down Expand Up @@ -363,6 +363,6 @@ following possible visualizations:
the expected results.
- **Tensorboard**: _(Only available for the network and finetune nodes)_. Calls
a secondary process that starts a tensorboard view of the logs of the training
process. The tensorboard view is a tool that helps the user to monitor the
process. The tensorboard view is a tool that helps the user monitor the
training process of the deep learning model. The tensorboard view is available
for the training and finetuning nodes.

0 comments on commit b42a8d5

Please sign in to comment.