Giter VIP home page Giter VIP logo

pynetspresso's Issues

[Sprint] Add convert (TFLite int8) and benchmark for Alif Ensemble DevKit Gen2 and Renesas RA8D1

Description

  • Add convert (TFLite int8) and benchmark for Alif Ensemble DevKit Gen2 and Renesas RA8D1

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

Todo

  • Add int8 data type for TFLite converting
  • Add Alif Ensemble DevKit Gen2 adn Renesas RA8D1 on target devices

[Sprint] Add Dockerfile & Upload Docker image to Docker Hub

Description

  • Upload the docker image to the hub so that users can use it directly as a docker image instead of a pip install.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Fix recommendation compression

Description

  • There is a bug in the process of assigning the recommendation result to the available layer.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[BUG] Version dependency for `typing_extensions`

Describe the bug

The recent libraries with FastAPI require an up-to-date typing_extensions (e.g. 4.8.0)

The version requirements are too specific, so it is hard to install with other libraries...

Plus, both pydantic==1.10.4 and fastapi, other dependencies on the library, are satisfied with typing-extensions==4.8.0.
However, the current dependency typing_extensions==4.5.0 shows an error.

This would be solved if the requirements.txt should be fixed to:

pydantic==1.10.8
typing-extensions>=4.8.0

Have you searched existing issues? ๐Ÿ”Ž

  • I have searched and found no existing issues

Reproduction

Just

pip install netspresso

(Use with library)

throws an error.

Screenshot

No response

Logs

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fastapi 0.104.1 requires typing-extensions>=4.8.0, but you have typing-extensions 4.5.0 which is incompatible.
pydantic-core 2.14.3 requires typing-extensions!=4.7.0,>=4.6.0, but you have typing-extensions 4.5.0 which is incompatible.

System Info

Python 3.8
General with all OS systems

Add files for Community Standards

  • I have searched to see if a similar issue already exists.

Is there any feature that you would like to add? (์ถ”๊ฐ€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” feature๊ฐ€ ์–ด๋–ค ๊ฒƒ์ผ๊นŒ์š”?)
Community Standards์„ ์œ„ํ•œ ํŒŒ์ผ ์ถ”๊ฐ€

  • Github Issue & PR Template
  • CODE_OF_CONDUCT
  • CONTRIBUTING
  • SECURITY

Is there any suggestion (or solution) to solve this issue? (์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์œผ์‹ ๊ฐ€์š”?)
Please write a clear and concise description (๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”)

Additional context (์ „ํ›„ ๋งฅ๋ฝ์„ ๋•๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ๋“ค)
All other contexts or screenshots are welcome. (๋…ธํŠธ, ํ† ์˜ ๋‚ด์šฉ, ์Šคํฌ๋ฆฐ์ƒท ๋“ฑ ๋ชจ๋“  ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”)

[Sprint] Modify to build trainer instance with original trainer config for retraining

Description

  • Modify to build trainer instance with original trainer config for retraining.

ex)

# For Training
trainer = Trainer(task=Task.OBJECT_DETECTION)

# For Retraining
retrainer = Trainer(task=Task.OBJECT_DETECTION, from_config="config_path")

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Modify output_path as folder path rather than file path

Description

  • Currently, we are receiving output_path as file path, but we will modify it to receive it as folder path.

As-is

compressed_model = compressor.automatic_compression(
    ...
    output_path="./outputs/compressed/compressed_model.h5"
)

To-be

compressed_model = compressor.automatic_compression(
    ...
    output_path="./outputs/compressed/automatic_05"
)

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Enhance folder existence check and creation

Description

  • Add logic that automatically creates folders if there are no folders in the path you entered when you download the model

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add onnx export automatically after compression

Description

  • Add exporting to ONNX for immediate use with the converter and benchmark after compression

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Change `task` & `framework` parameters to optional in compressor

Description

  • Change task & framework parameters to optional in compressor
    • The default for the task is other.
    • The default for the framework is pytorch.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Remove validate_token decorator

Description

  • Remove validate_token decorator.
    • It is inconvenient to check the parameters and return values of the function because of the decoder

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add PyPI packaging workflow

Description

  • Add pypi packaging with github workflow

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Change `number_of_layers` default value

Description

  • Change the default value of number_of_layers from 0 to None.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Implement the status management function of a task

Description

  • Implementation of functions that manage the state of train, compress, convert, benchmark

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Implement json data management functions

Description

  • Implement a function that manages json data to be used by GUI.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add assertion for file_path or dir_path

Description

  • Add assertion for file_path or dir_path.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Integrate netspresso-trainer

Description

  • Enable training with netspresso-trainer on pynp.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Update User's Guide

Description

  • Improve the user's guide of PyNetsPresso.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Show credit remaining after each module has been used

Description

  • Show the remaining credits of the user after using the module.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Improve and unify input parameters by module

Description

  • The input is received in the file_path, and the output is received in the dir_path.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add plotter for visualization on jupyter notebook

Description

  • Add visualization of result on Jupyter notebook.(ex. latency, metrics, flops, etc)

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Move the enum file in the trainer to a common enum

Description

  • Move the enum file in the trainer to a common enum.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Handling exceptions for nuclear norm

Description

  • Currently, PyTorch does not support Nuclear Norm(PR_NN).

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add npy file transfer for int8 quantization

Description

  • Add npy file transfer for int8 quantization.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Change os.path to Pathlib

Description

  • Change it to Pathlib because we are using both os.path and Pathlib.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Feature Request] Add release notes

  • I have searched to see if a similar issue already exists.

Is there any feature that you would like to add?
PyNetspresso does not have a release note. It should add a release note containing a previous version.

Is there any suggestion (or solution) to solve this issue?
Please write a clear and concise description.

Additional context
All other contexts or screenshots are welcome.

Allow `fp16` input tensor to apply with `fp16` saved model

Problem

From @illian01

Compressor

  • Current API gets input tensor as input_shape
  • Some models can be saved with half() (i.e. fp16), which cannot infer with float32 input tensor .
    • This model should give the example input tensor whose dtype is same with the model (float16)
  • Need additional feature for users to select the data type of example input tensor
  • Our back-end has already supported different input types of tensors, and it doesn't affect to compress the model

Related Link

Slack: https://nota-workspace.slack.com/archives/C040F65LSAJ/p1693546735327899

[Sprint] Improve netspresso interface

Description

  • Improve netspresso interface

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Remove unused functions

Description

  • The module's artifacts are stored locally and the lookup function is no longer required.
    • ex) get_models, get_compression .. etc

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add github folder download

Description

  • Add github_download to download netspresso-trainer config folder

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Improve compression, convert, and benchmark usability

Description

  • Improve compression, convert, and benchmark usability.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Sync example code with default value

Description

  • The compression option value for the example code must be set to Default.

As-is

OPTIONS = Options(
    policy=Policy.AVERAGE, layer_norm=LayerNorm.TSS_NORM, group_policy=GroupPolicy.COUNT, reshape_channel_axis=-1
)

To-be

Options(
    policy=Policy.AVERAGE, layer_norm=LayerNorm.STANDARD_SCORE, group_policy=GroupPolicy.AVERAGE, reshape_channel_axis=-1
)

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Apply the updated version of the trainer

Description

  • Apply the v0.1.2 version of the trainer.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Rename `model_trainer.py` to `trainer.py`

Description

  • Rename model_trainer.py to trainer.py.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

Additional guide for pytorch checkpoint + torch checkpoint converting

Compressor API requests the specific type of pytorch checkpoint, fx graphmodule, but there's no guide in README

According to docs, the model can be converted with the following commands:

Compressor

  • pytorch checkpoint (state_dict) -> fx graphmodule
import torch.fx
from torchvision.models import resnet18, ResNet18_Weights

model = resnet18(weights=ResNet18_Weights)
graph = torch.fx.Tracer().trace(model)
traced_model = torch.fx.GraphModule(model, graph)
torch.save(traced_model, "resnet18.pt")

Launcher

  • pytorch checkpoint (state_dict) -> onnx
from torchvision.models import resnet18
import torch
from torch.onnx import TrainingMode

input_tensor = torch.rand(torch.Size([1, 3, 224, 224]))
model = resnet18(pretrained=True)
dummy_output = model(input_tensor)
torch.onnx.export(model, input_tensor, "resnet18.onnx", verbose=True, training=TrainingMode.TRAINING)

I'll add some descriptions about torch checkpoint and checkpoint converting features if needed.

[Sprint] Add typing to a function or parameter

Description

  • Add typing to a function or parameter.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Divide Launcher into Converter and Benchmarker

Description

  • Divide Launcher into Converter and Benchmarker.
    • Launcher -> Converter & Benchmarker

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Change YOLOX to YOLOX-S

Description

  • Change YOLOX to YOLOX-S.
    • Currently, trainer only provides YOLOX-S pre-trained weight.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Fix `reissue_token` bug & Remove instance variable

Description

  • Fix reissue_token endpoint
    • token -> auth/token
  • Remove instance variable(email & password)

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add the paths of each module's artifacts to metadata

Description

  • Add the paths of each module's artifacts to metadata.
    • ex) best_pt_path, best_onnx_path, compressed_model_path, converted_model_path .. etc

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

Login failed with SSL certificate verification error

I'm trying to use the Netspresso Python client to log in to my account using the SessionClient class, but I'm facing an SSL certificate verification error. Here are the details:

I'm using the latest version of the Netspresso Python client.
I'm using my Netspresso account email and password to log in.
I'm getting the following error message:

Login failed. Error: HTTPSConnectionPool(host='searcher.netspresso.ai', port=443): Max retries exceeded with url: /api/v1/auth/local/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))

I believe this error is related to SSL certificate verification, but I'm not sure how to fix it. Can someone from the Netspresso team help me troubleshoot this issue?

Thanks in advance for your help!

[Sprint] Refactoring API Clients

Description

  • Refactoring API Clients(Compressor, Launcher)

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Update logging message & error message

Description

  • Provides readable messages and improve tone.
  • Provide solutions and examples.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Update example code

Description

  • Update example code.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Rename Trainer, Compressor, Converter, Benchmarker

Description

  • Remove the "Model" prefix from the name of each module.
  • ex) ModelTrainer -> Trainer

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Remove enum value from return of module

Description

  • Remove enum value from return of module.
    • Instead of enum value, it would be nice to make it look like a string value.

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

[Sprint] Add jupyter notebook examples

Description

  • Add jupyter notebook examples

Checklists

  • I would create a corresponding branch for this issue from the designated (mostly develop) branch.
  • This issue only contains a preceding agreement between project owners.

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.