Comments (26)
Implementation Plan for NNCF Common Graph Code Mypy Compliance
Subject: Expedited Plan for Mypy Compliance in NNCF Common Graph Code
Introduction
I am enthusiastic about contributing to the NNCF project and am keen on participating in GSoC 2024 with your organization. Given my limited availability, I propose an expedited implementation plan to address the mypy compliance issue (#22196) within a week, starting January 20th.
Timezone and Availability
My timezone is IST (GMT+5:30). I can dedicate 1.5 hours daily to this project.
Objective
To make all files under nncf/common/graph compliant with mypy checks, in line with the .mypy.ini configuration. This task involves correcting type hint issues and ensuring Python 3.8 type hinting standards.
Expedited Implementation Steps and Timeline
- Setup and Initial Analysis (21st January)
Morning: Set up the local development environment.
Evening: Install NNCF in editable mode and run initial mypy checks.
- Error Categorization and Prioritization (22nd January)
Categorize mypy errors and prioritize files based on error complexity and impact.
- Resolving Simple Type Hint Issues (23rd January)
Address simpler type hint errors across multiple files.
- Addressing Complex Type Hint Issues (24th and 25th January)
Tackle more complex type hint issues.
Begin necessary refactoring for clearer type hints and code quality.
- Continued Refactoring and Code Quality (26th January)
Continue refactoring for improved type hint clarity.
Ensure alignment with NNCF's coding standards.
- Documentation Update and Final Testing (27th January)
Morning: Update documentation and comments to reflect changes.
Evening: Run final mypy checks and unit testing.
- Review and Pull Request Preparation (28th January)
Prepare the code for final review.
Create and submit the pull request with a detailed description of changes.
- Buffer Period (29th - 30th January)
Use this time for any final adjustments or to address immediate feedback from the project maintainers.
Conclusion
This expedited plan is designed to efficiently address the mypy compliance issue in the NNCF common graph code, maintaining high standards of code quality within the constrained timeframe. I look forward to contributing to this project and gaining valuable experience for GSoC 2024.
For further discussion or clarifications regarding this implementation plan, please feel free to reach out.
Best regards,
Vivek
[email protected]
from nncf.
Hi, I just opened a PR for this
from nncf.
I wish to request to allocation for this issue.
It is in preperation for GSoC 2024 eligibility.
from nncf.
.take
from nncf.
Thank you for looking into this issue! Please let us know if you have any questions or require any help.
from nncf.
Hi @vshampor @rkazants @mlukasze !
I'm excited to address the mypy checks for the NNCF common graph code. Here's my plan:
Install Mypy:
I'll ensure that Mypy is installed in our development environment to perform thorough type checking.
Configuration File:
I'll create/update the mypy.ini configuration file in the project's root directory to tailor Mypy's settings to our specific needs.
Type Annotations:
I'll review and enhance the NNCF common graph code by incorporating comprehensive type annotations. This includes annotating function signatures, variables, and return types.
Run Mypy:
Once annotations are in place, I'll execute Mypy on the NNCF common graph code to identify any existing issues.
Addressing Issues:
I'll methodically address any issues identified by Mypy, making necessary adjustments to the codebase to ensure consistency with the type annotations.
Iterative Testing:
I'll perform iterative testing, running Mypy at each stage of development to catch and resolve issues promptly.
Feel free to provide additional insights or specific preferences you may have. I'm committed to delivering a clean and well-typed NNCF common graph code. Looking forward to your feedback.
I am eagerly waiting to solve this ,could you please assign me?
from nncf.
@prajak002 this exact issue seems to have already been taken. I have created #2494 which is basically the same task, but for a different, mostly non-overlapping part of code - you can take that if you want.
from nncf.
Thank you Sir! I'll take on #2494 for the non-overlapping part. Let me know if there are any specifics I should be aware of. Appreciate your collaboration.
from nncf.
@prajak002 sorry, looks like the #2494 was taken before you could react. I created #2497 and asked @rkazants to assign you directly this time, this is the same stuff but yet for another code path.
from nncf.
@Grimoors feel free to take #2493 that I've just created for you.
from nncf.
@Grimoors feel free to take #2493 that I've just created for you.
@vshampor ; As I am already halfway done with my implementation plan for the current issue #2495 ; may I just put my pull request and then move on to the next issue after that ? It appears some other person is assigned to #2493 regardless;
Please let me continue with work on the current issue.
from nncf.
@Grimoors sorry, did not pay enough attention and mistaken you for someone else who wanted a part of this task. Sure, please continue with this one, we are eagerly waiting for the PR.
from nncf.
Quick update; I am still working on it and I am behind schedule due to unexpected increase of bugs after install of types-networkx on local to get rid of an error.
Requesting extension till 5th Feb , 23:55 hrs IST.
from nncf.
Hello @Grimoors, are you still working on this issue or can we reassign it?
from nncf.
I am sorry for delay, still on it.
from nncf.
I'm reopening the issue due to current assignee's inactivity. If you're still working on this you can repick the task.
from nncf.
@vshampor could you please unassign @Grimoors?
from nncf.
@p-wysocki I apologise for my inactivity.
from nncf.
There's no need to apologize, we're just making sure all assigned issues are actually in progress. :) If you wish to continue working on this task or picking up another feel free to do so, you're always welcome to contribute.
from nncf.
If @Grimoors is no longer working on this I'd like to pick it up. :)
from nncf.
It's okay with me, but sadly I currently do not have proper permissions to assign/unassign people to issues created in the NNCF repository. @vshampor could you please help here?
from nncf.
@DaniAffCH I am keen to continue work on this.
from nncf.
Ok no problem :)
from nncf.
The assignee was unassigned due to the lack of activity.
from nncf.
.take
from nncf.
Thank you for looking into this issue! Please let us know if you have any questions or require any help.
from nncf.
Related Issues (20)
- Compressed models that call torch.is_floating_point() during inference are traced with runtime error.
- nncf + ultralytics yolov8 training-time compression HOT 7
- Ultralytics yolov8 QAT example HOT 1
- [Good First Issue] [NNCF] Make NNCF common utils code pass mypy checks HOT 23
- [Good First Issue] [NNCF] Make NNCF common accuracy aware training code pass mypy checks HOT 17
- [Good First Issue] [NNCF] Make NNCF common tensor statistics code pass mypy checks HOT 10
- [Good First Issue] [NNCF] Make NNCF common sparsity code pass mypy checks HOT 6
- Thanks to our Contributors HOT 1
- [Good First Issue][NNCF]: Add INT8 weight compression conformance test for Tinyllama-1.1b PyTorch model HOT 19
- [Good First Issue][NNCF]: Fixing NNCFGraph export for visualization in Netron HOT 6
- Why doesn't the size and precision of the model change after INT4 quantization? HOT 2
- [Good First Issue][NNCF]: Optimize memory footprint by removing redundant collected statistics HOT 8
- [Good First Issue][NNCF]: Dump actual_subset_size to ov.Model HOT 8
- [Good First Issue][NNCF]: dump the ignored scope more gracefully HOT 4
- [Good First Issue][NNCF]: check number of u8, u4 constants in weight compression tests HOT 10
- PTQ of Fast R-CNN crashes in PyTorch backend HOT 1
- [Good First Issue][NNCF]: fix invalid error reporting in JSON schema HOT 19
- [Good First Issue][NNCF]: Add tests for torch device utils HOT 5
- [Good First Issue][NNCF]: Remove compress_to_fp16=False from examples HOT 3
- AttributeError: 'list' object has no attribute 'keys' when executing yolov8_quantize_with_accuracy_control example HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nncf.