From 0c9466363bb612e1eee969e57d8129352e139c98 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 10:02:34 +0000 Subject: [PATCH 1/6] Initial plan From 18ec156daca9358c5fbe1b42d690674839329a36 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 10:04:39 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- doc/model/show-model-info.md | 7 ------- doc/train/multi-task-training.md | 1 - 2 files changed, 8 deletions(-) diff --git a/doc/model/show-model-info.md b/doc/model/show-model-info.md index 48aa41385d..cdc15ddf04 100644 --- a/doc/model/show-model-info.md +++ b/doc/model/show-model-info.md @@ -11,7 +11,6 @@ dp --pt show - ``: Path to the model checkpoint file or frozen model file. - ``: One or more information categories to display. Supported values are: - - `model-branch`: Shows available branches for multi-task models. - `type-map`: Shows the type mapping used by the model. - `descriptor`: Displays the model descriptor parameters. @@ -33,31 +32,25 @@ dp show frozen_model.pth type-map descriptor fitting-net size Depending on the provided attributes and the model type, the output includes: - **Model Type** - - Logs whether the loaded model is a _singletask_ or _multitask_ model. - **model-branch** - - _Only available for multitask models._ - Lists all available model branches and the special `"RANDOM"` branch, which refers to a randomly initialized fitting net. - **type-map** - - For multitask models: Shows the type map for each branch. - For singletask models: Shows the model's type map. - **descriptor** - - For multitask models: Displays the descriptor parameter for each branch. - For singletask models: Displays the descriptor parameter. - **fitting-net** - - For multitask models: Shows the fitting network parameters for each branch. - For singletask models: Shows the fitting network parameters. - **size** - - Prints the number of parameters for each component (`descriptor`, `fitting-net`, etc.), as well as the total parameter count. ## Example Output diff --git a/doc/train/multi-task-training.md b/doc/train/multi-task-training.md index 16f6c0e05c..115c463cc2 100644 --- a/doc/train/multi-task-training.md +++ b/doc/train/multi-task-training.md @@ -48,7 +48,6 @@ Specifically, there are several parts that need to be modified: - {ref}`model/model_dict `: The core definition of the model part and the explanation of sharing rules, starting with user-defined model name keys `model_key`, such as `my_model_1`. Each model part needs to align with the components of the single-task training {ref}`model `, but with the following sharing rules: - - If you want to share the current model component with other tasks, which should be part of the {ref}`model/shared_dict `, you can directly fill in the corresponding `part_key`, such as `"descriptor": "my_descriptor", ` From 7f9af3c7dcfe4f27e84c9d3e52e505097c8ec2e7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 10:10:09 +0000 Subject: [PATCH 3/6] Add GitHub Discussion templates with emphasis on reproducible examples Co-authored-by: njzjz <9496702+njzjz@users.noreply.github.com> --- .github/DISCUSSION_TEMPLATE/README.md | 44 +++++ .../DISCUSSION_TEMPLATE/general-question.yml | 80 +++++++++ .../DISCUSSION_TEMPLATE/ideas-suggestions.yml | 100 +++++++++++ .github/DISCUSSION_TEMPLATE/potential-bug.yml | 148 +++++++++++++++ .github/DISCUSSION_TEMPLATE/show-and-tell.yml | 125 +++++++++++++ .github/DISCUSSION_TEMPLATE/usage-help.yml | 170 ++++++++++++++++++ 6 files changed, 667 insertions(+) create mode 100644 .github/DISCUSSION_TEMPLATE/README.md create mode 100644 .github/DISCUSSION_TEMPLATE/general-question.yml create mode 100644 .github/DISCUSSION_TEMPLATE/ideas-suggestions.yml create mode 100644 .github/DISCUSSION_TEMPLATE/potential-bug.yml create mode 100644 .github/DISCUSSION_TEMPLATE/show-and-tell.yml create mode 100644 .github/DISCUSSION_TEMPLATE/usage-help.yml diff --git a/.github/DISCUSSION_TEMPLATE/README.md b/.github/DISCUSSION_TEMPLATE/README.md new file mode 100644 index 0000000000..b521e7d7f2 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/README.md @@ -0,0 +1,44 @@ +# Discussion Templates + +This directory contains GitHub Discussion templates for the DeePMD-kit repository. These templates help guide users to provide comprehensive information when starting discussions, particularly emphasizing the importance of reproducible examples. + +## Available Templates + +### 1. General Question (`general-question.yml`) +For general questions about DeePMD-kit usage, features, or concepts. Use this when you have a straightforward question that doesn't require extensive troubleshooting. + +### 2. Usage Help (`usage-help.yml`) +For detailed help with specific DeePMD-kit usage scenarios. **This template strongly emphasizes providing reproducible examples** to help community members provide effective assistance. + +### 3. Ideas and Suggestions (`ideas-suggestions.yml`) +For proposing new features, improvements, or enhancements to DeePMD-kit. Includes sections for use cases, related work, and implementation thoughts. + +### 4. Show and Tell (`show-and-tell.yml`) +For sharing projects, research, or achievements using DeePMD-kit. Encourages sharing reproducible information and lessons learned. + +### 5. Potential Bug Discussion (`potential-bug.yml`) +For discussing behavior that might be a bug before creating a formal issue. **Emphasizes providing complete reproducible examples** to help confirm whether the behavior is indeed a bug. + +## Key Features + +All templates are designed to: +- **Encourage reproducible examples**: Each template emphasizes the importance of providing complete, minimal examples that others can reproduce +- Follow the repository's existing style and conventions +- Include appropriate labels for categorization +- Provide clear guidance on what information to include +- Help users structure their discussions effectively + +## Usage + +When users start a new discussion, they will be presented with these template options. The templates guide them to provide: + +- Clear problem descriptions +- Version information +- Reproducible examples with: + - Input files + - Configuration files + - Commands run + - Expected vs actual behavior + - Complete error messages + +This addresses the issue mentioned in #4506 where "many discussions do not give reproduced examples." \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/general-question.yml b/.github/DISCUSSION_TEMPLATE/general-question.yml new file mode 100644 index 0000000000..90bffa74ac --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/general-question.yml @@ -0,0 +1,80 @@ +name: General Question +description: Ask a general question about DeePMD-kit usage, features, or concepts +labels: ["question"] +body: + - type: textarea + id: summary + attributes: + label: Summary + description: Please provide a clear and concise description of your question. + placeholder: What would you like to know about DeePMD-kit? + value: + validations: + required: true + - type: input + id: version + attributes: + label: DeePMD-kit Version + description: "What version of DeePMD-kit are you using? Run `dp --version` to check." + placeholder: "e.g., 2.2.7" + validations: + required: false + - type: input + id: backend-version + attributes: + label: Backend and Version + description: "Which backend are you using and what version? (e.g., TensorFlow v2.15.0, PyTorch v2.0.1)" + placeholder: "e.g., TensorFlow v2.15.0" + validations: + required: false + - type: textarea + id: details + attributes: + label: Detailed Description + description: | + Please provide more details about your question. If you're having trouble with specific functionality, please include: + - What you're trying to achieve + - What you've tried so far + - Any relevant configuration or setup details + placeholder: Provide additional context that would help others understand and answer your question. + value: + validations: + required: true + - type: textarea + id: reproducible-example + attributes: + label: Reproducible Example (if applicable) + description: | + If your question relates to specific code, input files, or commands, please provide a minimal reproducible example. + This helps others understand your issue and provide better assistance. + + **Please include:** + - Input files (minimal example) + - Commands you're running + - Configuration files + - Expected vs actual behavior + placeholder: | + ```bash + # Your commands here + dp train input.json + ``` + + ```json + // Your configuration here + { + "model": {...} + } + ``` + value: + validations: + required: false + - type: textarea + id: additional-info + attributes: + label: Additional Information + description: | + Any additional information, links to documentation you've consulted, or other relevant details. + placeholder: Links, references, or other context that might be helpful. + value: + validations: + required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/ideas-suggestions.yml b/.github/DISCUSSION_TEMPLATE/ideas-suggestions.yml new file mode 100644 index 0000000000..39e63ef06f --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/ideas-suggestions.yml @@ -0,0 +1,100 @@ +name: Ideas and Suggestions +description: Share ideas for new features, improvements, or enhancements to DeePMD-kit +labels: ["idea", "enhancement"] +body: + - type: textarea + id: summary + attributes: + label: Summary + description: Brief summary of your idea or suggestion + placeholder: What's your idea for improving DeePMD-kit? + value: + validations: + required: true + - type: dropdown + id: category + attributes: + label: Category + description: What area does your suggestion relate to? + options: + - New feature + - Performance improvement + - User experience enhancement + - Documentation improvement + - API/Interface improvement + - Integration with other tools + - Other (specify in description) + validations: + required: true + - type: textarea + id: detailed-description + attributes: + label: Detailed Description + description: | + Provide a detailed description of your idea or suggestion. + Include: + - What problem does this solve? + - How would this benefit users? + - Are there any alternatives you've considered? + placeholder: Describe your idea in detail... + value: + validations: + required: true + - type: textarea + id: use-case + attributes: + label: Use Case / Example + description: | + Provide a concrete use case or example of how this feature would be used. + If applicable, include: + - Example code or configuration + - Workflow description + - Expected input/output + placeholder: | + **Example usage:** + ```python + # How users might use this feature + ``` + + **Use case:** + This would help users who... + value: + validations: + required: false + - type: textarea + id: related-work + attributes: + label: Related Work / References + description: | + Are there similar features in other tools, papers, or projects that inspired this idea? + Include links to relevant resources, publications, or implementations. + placeholder: | + - Similar feature in [other tool]: [link] + - Relevant paper: [citation/link] + - Related discussion: [link] + value: + validations: + required: false + - type: textarea + id: implementation-thoughts + attributes: + label: Implementation Thoughts + description: | + If you have ideas about how this might be implemented, share them here. + This could include: + - Potential approaches + - Technical considerations + - Whether you'd be interested in contributing to the implementation + placeholder: Any thoughts on how this could be implemented... + value: + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Any other information that would be helpful for understanding or evaluating this suggestion. + placeholder: Additional details, context, or considerations... + value: + validations: + required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/potential-bug.yml b/.github/DISCUSSION_TEMPLATE/potential-bug.yml new file mode 100644 index 0000000000..0e75012225 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/potential-bug.yml @@ -0,0 +1,148 @@ +name: Potential Bug Discussion +description: Discuss behavior that might be a bug before creating a formal issue - include reproducible examples +labels: ["potential bug", "question"] +body: + - type: textarea + id: summary + attributes: + label: What seems to be wrong? + description: | + Describe the behavior you think might be a bug. + Use this template when you're not sure if something is a bug or if you need help confirming the issue before creating a formal bug report. + placeholder: Describe what you think might be wrong... + value: + validations: + required: true + - type: input + id: version + attributes: + label: DeePMD-kit Version + description: "Run `dp --version` to check." + placeholder: "e.g., 2.2.7" + validations: + required: true + - type: input + id: backend-version + attributes: + label: Backend and Version + description: "Which backend version? (shown when running DeePMD-kit)" + placeholder: "e.g., TensorFlow v2.15.0" + validations: + required: true + - type: dropdown + id: installation-method + attributes: + label: How did you install DeePMD-kit? + options: + - conda + - pip + - docker + - Built from source + - Offline packages + - Others (specify below) + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: What did you expect to happen? + description: Describe what you think should happen. + placeholder: I expected... + value: + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: What actually happened? + description: Describe what you observed instead. + placeholder: Instead, what happened was... + value: + validations: + required: true + - type: textarea + id: reproducible-example + attributes: + label: Reproducible Example + description: | + **This is crucial for confirming if this is a bug!** + + Please provide a complete, minimal example that reproduces the issue: + - Input files (attach small files or paste relevant content) + - Exact commands you ran + - Configuration files + - Complete error messages or unexpected output + - System information if relevant + + The goal is to provide enough information that others can reproduce the exact same behavior. + placeholder: | + **Files and setup:** + ``` + # Directory structure + myproject/ + ├── input.json + ├── data/ + │ ├── type_map.raw + │ └── set.000/ + │ ├── coord.npy + │ └── energy.npy + ``` + + **Configuration (input.json):** + ```json + { + "model": { + // your configuration + } + } + ``` + + **Commands:** + ```bash + dp train input.json + ``` + + **Output/Error:** + ``` + # Complete error message or unexpected output + ``` + + **System info:** + - OS: Ubuntu 20.04 + - Python: 3.9.7 + - Hardware: [relevant specs] + value: + validations: + required: true + - type: textarea + id: investigation + attributes: + label: What have you tried? + description: | + What steps have you taken to investigate or work around this issue? + - Different configurations you've tested + - Workarounds you've attempted + - Similar issues you've found online + - Other versions you've tested + placeholder: | + I tried: + 1. Changing the configuration to... + 2. Testing with a different dataset... + 3. Searching for similar issues... + value: + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: | + Any other information that might be relevant: + - When did this behavior start? + - Does it happen consistently? + - Any relevant environmental factors? + - Links to related discussions or issues? + placeholder: Additional context that might be helpful... + value: + validations: + required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml new file mode 100644 index 0000000000..6e6a554869 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml @@ -0,0 +1,125 @@ +name: Show and Tell +description: Share your projects, research, or achievements using DeePMD-kit +labels: ["show and tell"] +body: + - type: textarea + id: what-did-you-build + attributes: + label: What did you build or achieve? + description: Tell us about your project, research, or achievement using DeePMD-kit! + placeholder: Share what you've created or accomplished... + value: + validations: + required: true + - type: dropdown + id: project-type + attributes: + label: Project Type + description: What type of project or work is this? + options: + - Research project + - Educational/tutorial content + - Integration with other tools + - Performance optimization + - Application to new domain + - Methodology development + - Other (specify in description) + validations: + required: true + - type: textarea + id: technical-details + attributes: + label: Technical Details + description: | + Share the technical details of your work: + - What methods or features of DeePMD-kit did you use? + - Any interesting technical approaches or optimizations? + - System specifications or scale of your work? + placeholder: | + **DeePMD-kit features used:** + - Descriptor: se_e2_a + - Backend: TensorFlow + - Integration: LAMMPS + + **Technical approach:** + - Training dataset: [description] + - Model architecture: [details] + - Performance: [metrics] + value: + validations: + required: false + - type: textarea + id: results-achievements + attributes: + label: Results and Achievements + description: | + What results did you achieve? What makes this work interesting or notable? + Include: + - Key findings or outcomes + - Performance metrics or improvements + - Novel applications or insights + placeholder: Share your key results and achievements... + value: + validations: + required: false + - type: textarea + id: reproducible-info + attributes: + label: Reproducible Information + description: | + If others want to reproduce your work or learn from it, what information can you share? + - Links to code repositories + - Configuration files + - Dataset information (if shareable) + - Step-by-step instructions + placeholder: | + **Code repository:** [link] + **Key configurations:** + ```json + { + "model": {...} + } + ``` + **Instructions:** [brief steps to reproduce] + value: + validations: + required: false + - type: textarea + id: lessons-learned + attributes: + label: Lessons Learned + description: | + What did you learn during this project? Any tips, tricks, or insights that might help others? + - Challenges you overcame + - Best practices you discovered + - Things you'd do differently next time + placeholder: Share insights that might help others... + value: + validations: + required: false + - type: textarea + id: links-and-resources + attributes: + label: Links and Resources + description: | + Share relevant links: + - Publications or preprints + - Code repositories + - Demo videos or visualizations + - Related projects or collaborations + placeholder: | + **Publication:** [link] + **Code:** [link] + **Demo:** [link] + value: + validations: + required: false + - type: textarea + id: acknowledgments + attributes: + label: Acknowledgments + description: Any acknowledgments or thanks to the community, collaborators, or DeePMD-kit developers? + placeholder: Thank you to... + value: + validations: + required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/usage-help.yml b/.github/DISCUSSION_TEMPLATE/usage-help.yml new file mode 100644 index 0000000000..27355d80fe --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/usage-help.yml @@ -0,0 +1,170 @@ +name: Usage Help +description: Get help with using DeePMD-kit - provide reproducible examples for the best assistance +labels: ["help wanted", "usage"] +body: + - type: textarea + id: summary + attributes: + label: What are you trying to accomplish? + description: Please provide a clear description of what you're trying to do with DeePMD-kit. + placeholder: "e.g., Training a neural network potential for water molecules, running molecular dynamics with LAMMPS, etc." + value: + validations: + required: true + - type: input + id: version + attributes: + label: DeePMD-kit Version + description: "Run `dp --version` to check your version." + placeholder: "e.g., 2.2.7" + validations: + required: true + - type: input + id: backend-version + attributes: + label: Backend and Version + description: "Which backend and version? (The backend version is shown when running DeePMD-kit)" + placeholder: "e.g., TensorFlow v2.15.0" + validations: + required: true + - type: dropdown + id: installation-method + attributes: + label: Installation Method + options: + - conda + - pip + - docker + - Built from source + - Offline packages + - Others (specify in details) + validations: + required: true + - type: textarea + id: problem-description + attributes: + label: Problem Description + description: | + Describe the specific issue you're encountering or what you need help with. + Be as specific as possible about what's not working or what you're unsure about. + placeholder: "Describe your specific problem or question..." + value: + validations: + required: true + - type: textarea + id: reproducible-example + attributes: + label: Reproducible Example + description: | + **This section is crucial for getting effective help!** + + Please provide a complete, minimal example that others can use to reproduce your issue or understand your question. + Include: + - Input files (you can attach small files or paste content) + - Command(s) you're running + - Configuration files (input.json, etc.) + - Directory structure if relevant + - Full error messages or unexpected output + + **Tip:** The more complete and minimal your example, the easier it is for others to help you! + placeholder: | + **Input files:** + ``` + # system directory structure + data/ + ├── type_map.raw + ├── type.raw + └── set.000/ + ├── coord.npy + ├── energy.npy + └── force.npy + ``` + + **Configuration (input.json):** + ```json + { + "model": { + "type_map": ["H", "O"], + "descriptor": { + "type": "se_e2_a", + "rcut": 6.0, + "rcut_smth": 0.5, + "sel": [46, 92] + }, + "fitting_net": { + "neuron": [25, 50, 100], + "resnet_dt": false + } + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "stop_lr": 3.51e-8, + "decay_steps": 5000 + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 1, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0, + "limit_pref_v": 0 + }, + "training": { + "numb_steps": 1000000, + "seed": 1, + "batch_size": 1, + "disp_file": "lcurve.out", + "disp_freq": 100, + "numb_test": 1, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + } + ``` + + **Commands:** + ```bash + dp train input.json + ``` + + **Error message:** + ``` + # Paste your complete error message here + ``` + value: + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: What did you expect to happen? + placeholder: Describe what you expected to occur... + value: + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: Actual Behavior + description: What actually happened? Include any error messages, unexpected output, or describe the difference from expected behavior. + placeholder: Describe what actually happened... + value: + validations: + required: true + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: | + Add any other context, screenshots, or information that might be helpful. + You can also mention if you've found any workarounds or partial solutions. + placeholder: Any other relevant information... + value: + validations: + required: false \ No newline at end of file From 79f150cf163b976bd1d3ec47aec584e164e8426b Mon Sep 17 00:00:00 2001 From: "njzjz-bot (driven by OpenClaw (model: gpt-5.4))[bot]" <48687836+njzjz-bot@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:00:10 +0000 Subject: [PATCH 4/6] fix(discussions): repair discussion form schema\n\nProblem\n- GitHub Discussions rejected the templates on this branch because the form files used invalid top-level keys such as and \n- Several template filenames also did not match the actual discussion category slugs\n\nChange\n- replace invalid top-level keys with supported discussion form keys\n- rename templates to match category slugs and drop the unmatched extra template\n- update the template README to document the valid mapping\n\nAuthored by OpenClaw (model: gpt-5.4) --- .github/DISCUSSION_TEMPLATE/README.md | 47 ++---- .../{usage-help.yml => general.yml} | 3 +- .../{ideas-suggestions.yml => ideas.yml} | 3 +- .github/DISCUSSION_TEMPLATE/potential-bug.yml | 148 ------------------ .../{general-question.yml => q-a.yml} | 3 +- .github/DISCUSSION_TEMPLATE/show-and-tell.yml | 3 +- 6 files changed, 13 insertions(+), 194 deletions(-) rename .github/DISCUSSION_TEMPLATE/{usage-help.yml => general.yml} (97%) rename .github/DISCUSSION_TEMPLATE/{ideas-suggestions.yml => ideas.yml} (96%) delete mode 100644 .github/DISCUSSION_TEMPLATE/potential-bug.yml rename .github/DISCUSSION_TEMPLATE/{general-question.yml => q-a.yml} (95%) diff --git a/.github/DISCUSSION_TEMPLATE/README.md b/.github/DISCUSSION_TEMPLATE/README.md index b521e7d7f2..7373a8a4db 100644 --- a/.github/DISCUSSION_TEMPLATE/README.md +++ b/.github/DISCUSSION_TEMPLATE/README.md @@ -1,44 +1,15 @@ # Discussion Templates -This directory contains GitHub Discussion templates for the DeePMD-kit repository. These templates help guide users to provide comprehensive information when starting discussions, particularly emphasizing the importance of reproducible examples. +This directory contains GitHub Discussion category forms for DeePMD-kit. -## Available Templates +## Active templates -### 1. General Question (`general-question.yml`) -For general questions about DeePMD-kit usage, features, or concepts. Use this when you have a straightforward question that doesn't require extensive troubleshooting. +- `general.yml` → **General** +- `q-a.yml` → **Q&A** +- `ideas.yml` → **Ideas** +- `show-and-tell.yml` → **Show and tell** -### 2. Usage Help (`usage-help.yml`) -For detailed help with specific DeePMD-kit usage scenarios. **This template strongly emphasizes providing reproducible examples** to help community members provide effective assistance. +## Notes -### 3. Ideas and Suggestions (`ideas-suggestions.yml`) -For proposing new features, improvements, or enhancements to DeePMD-kit. Includes sections for use cases, related work, and implementation thoughts. - -### 4. Show and Tell (`show-and-tell.yml`) -For sharing projects, research, or achievements using DeePMD-kit. Encourages sharing reproducible information and lessons learned. - -### 5. Potential Bug Discussion (`potential-bug.yml`) -For discussing behavior that might be a bug before creating a formal issue. **Emphasizes providing complete reproducible examples** to help confirm whether the behavior is indeed a bug. - -## Key Features - -All templates are designed to: -- **Encourage reproducible examples**: Each template emphasizes the importance of providing complete, minimal examples that others can reproduce -- Follow the repository's existing style and conventions -- Include appropriate labels for categorization -- Provide clear guidance on what information to include -- Help users structure their discussions effectively - -## Usage - -When users start a new discussion, they will be presented with these template options. The templates guide them to provide: - -- Clear problem descriptions -- Version information -- Reproducible examples with: - - Input files - - Configuration files - - Commands run - - Expected vs actual behavior - - Complete error messages - -This addresses the issue mentioned in #4506 where "many discussions do not give reproduced examples." \ No newline at end of file +GitHub Discussion form filenames must match the target discussion category slug exactly. +Top-level keys allowed by GitHub are limited; use `title`, `labels`, and `body`. diff --git a/.github/DISCUSSION_TEMPLATE/usage-help.yml b/.github/DISCUSSION_TEMPLATE/general.yml similarity index 97% rename from .github/DISCUSSION_TEMPLATE/usage-help.yml rename to .github/DISCUSSION_TEMPLATE/general.yml index 27355d80fe..0a8830670d 100644 --- a/.github/DISCUSSION_TEMPLATE/usage-help.yml +++ b/.github/DISCUSSION_TEMPLATE/general.yml @@ -1,5 +1,4 @@ -name: Usage Help -description: Get help with using DeePMD-kit - provide reproducible examples for the best assistance +title: "[General] " labels: ["help wanted", "usage"] body: - type: textarea diff --git a/.github/DISCUSSION_TEMPLATE/ideas-suggestions.yml b/.github/DISCUSSION_TEMPLATE/ideas.yml similarity index 96% rename from .github/DISCUSSION_TEMPLATE/ideas-suggestions.yml rename to .github/DISCUSSION_TEMPLATE/ideas.yml index 39e63ef06f..16de57c92d 100644 --- a/.github/DISCUSSION_TEMPLATE/ideas-suggestions.yml +++ b/.github/DISCUSSION_TEMPLATE/ideas.yml @@ -1,5 +1,4 @@ -name: Ideas and Suggestions -description: Share ideas for new features, improvements, or enhancements to DeePMD-kit +title: "[Ideas] " labels: ["idea", "enhancement"] body: - type: textarea diff --git a/.github/DISCUSSION_TEMPLATE/potential-bug.yml b/.github/DISCUSSION_TEMPLATE/potential-bug.yml deleted file mode 100644 index 0e75012225..0000000000 --- a/.github/DISCUSSION_TEMPLATE/potential-bug.yml +++ /dev/null @@ -1,148 +0,0 @@ -name: Potential Bug Discussion -description: Discuss behavior that might be a bug before creating a formal issue - include reproducible examples -labels: ["potential bug", "question"] -body: - - type: textarea - id: summary - attributes: - label: What seems to be wrong? - description: | - Describe the behavior you think might be a bug. - Use this template when you're not sure if something is a bug or if you need help confirming the issue before creating a formal bug report. - placeholder: Describe what you think might be wrong... - value: - validations: - required: true - - type: input - id: version - attributes: - label: DeePMD-kit Version - description: "Run `dp --version` to check." - placeholder: "e.g., 2.2.7" - validations: - required: true - - type: input - id: backend-version - attributes: - label: Backend and Version - description: "Which backend version? (shown when running DeePMD-kit)" - placeholder: "e.g., TensorFlow v2.15.0" - validations: - required: true - - type: dropdown - id: installation-method - attributes: - label: How did you install DeePMD-kit? - options: - - conda - - pip - - docker - - Built from source - - Offline packages - - Others (specify below) - validations: - required: true - - type: textarea - id: expected-behavior - attributes: - label: What did you expect to happen? - description: Describe what you think should happen. - placeholder: I expected... - value: - validations: - required: true - - type: textarea - id: actual-behavior - attributes: - label: What actually happened? - description: Describe what you observed instead. - placeholder: Instead, what happened was... - value: - validations: - required: true - - type: textarea - id: reproducible-example - attributes: - label: Reproducible Example - description: | - **This is crucial for confirming if this is a bug!** - - Please provide a complete, minimal example that reproduces the issue: - - Input files (attach small files or paste relevant content) - - Exact commands you ran - - Configuration files - - Complete error messages or unexpected output - - System information if relevant - - The goal is to provide enough information that others can reproduce the exact same behavior. - placeholder: | - **Files and setup:** - ``` - # Directory structure - myproject/ - ├── input.json - ├── data/ - │ ├── type_map.raw - │ └── set.000/ - │ ├── coord.npy - │ └── energy.npy - ``` - - **Configuration (input.json):** - ```json - { - "model": { - // your configuration - } - } - ``` - - **Commands:** - ```bash - dp train input.json - ``` - - **Output/Error:** - ``` - # Complete error message or unexpected output - ``` - - **System info:** - - OS: Ubuntu 20.04 - - Python: 3.9.7 - - Hardware: [relevant specs] - value: - validations: - required: true - - type: textarea - id: investigation - attributes: - label: What have you tried? - description: | - What steps have you taken to investigate or work around this issue? - - Different configurations you've tested - - Workarounds you've attempted - - Similar issues you've found online - - Other versions you've tested - placeholder: | - I tried: - 1. Changing the configuration to... - 2. Testing with a different dataset... - 3. Searching for similar issues... - value: - validations: - required: false - - type: textarea - id: additional-context - attributes: - label: Additional Context - description: | - Any other information that might be relevant: - - When did this behavior start? - - Does it happen consistently? - - Any relevant environmental factors? - - Links to related discussions or issues? - placeholder: Additional context that might be helpful... - value: - validations: - required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/general-question.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml similarity index 95% rename from .github/DISCUSSION_TEMPLATE/general-question.yml rename to .github/DISCUSSION_TEMPLATE/q-a.yml index 90bffa74ac..96da904b9b 100644 --- a/.github/DISCUSSION_TEMPLATE/general-question.yml +++ b/.github/DISCUSSION_TEMPLATE/q-a.yml @@ -1,5 +1,4 @@ -name: General Question -description: Ask a general question about DeePMD-kit usage, features, or concepts +title: "[Q&A] " labels: ["question"] body: - type: textarea diff --git a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml index 6e6a554869..0268b19ee1 100644 --- a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml +++ b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml @@ -1,5 +1,4 @@ -name: Show and Tell -description: Share your projects, research, or achievements using DeePMD-kit +title: "[Show and tell] " labels: ["show and tell"] body: - type: textarea From 858476c2d5a0bbd0e8b8640d19cdb188b0d345db Mon Sep 17 00:00:00 2001 From: "njzjz-bot (driven by OpenClaw (model: gpt-5.4))[bot]" <48687836+njzjz-bot@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:12:49 +0000 Subject: [PATCH 5/6] docs(discussions): simplify q-and-a template Problem - The current discussion templates are broader than needed for this branch - The Q&A form asks for overlapping information and treats software-specific details as too central Change - keep only the Q&A discussion template - make most fields optional and clarify that users should fill them only when relevant - align field labels with the existing issue templates where practical - merge the latest upstream master into the branch Authored by OpenClaw (model: gpt-5.4) --- .github/DISCUSSION_TEMPLATE/README.md | 10 +- .github/DISCUSSION_TEMPLATE/general.yml | 169 ------------------ .github/DISCUSSION_TEMPLATE/ideas.yml | 99 ---------- .github/DISCUSSION_TEMPLATE/q-a.yml | 81 +++++---- .github/DISCUSSION_TEMPLATE/show-and-tell.yml | 124 ------------- 5 files changed, 51 insertions(+), 432 deletions(-) delete mode 100644 .github/DISCUSSION_TEMPLATE/general.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/ideas.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/show-and-tell.yml diff --git a/.github/DISCUSSION_TEMPLATE/README.md b/.github/DISCUSSION_TEMPLATE/README.md index 7373a8a4db..4ba2a24f3f 100644 --- a/.github/DISCUSSION_TEMPLATE/README.md +++ b/.github/DISCUSSION_TEMPLATE/README.md @@ -2,14 +2,12 @@ This directory contains GitHub Discussion category forms for DeePMD-kit. -## Active templates +## Active template -- `general.yml` → **General** - `q-a.yml` → **Q&A** -- `ideas.yml` → **Ideas** -- `show-and-tell.yml` → **Show and tell** ## Notes -GitHub Discussion form filenames must match the target discussion category slug exactly. -Top-level keys allowed by GitHub are limited; use `title`, `labels`, and `body`. +- The filename must match the discussion category slug exactly. +- GitHub Discussion forms only support a limited set of top-level keys, such as `title`, `labels`, and `body`. +- This Q&A template is intentionally lightweight; most fields are optional and should be filled only when relevant. diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml deleted file mode 100644 index 0a8830670d..0000000000 --- a/.github/DISCUSSION_TEMPLATE/general.yml +++ /dev/null @@ -1,169 +0,0 @@ -title: "[General] " -labels: ["help wanted", "usage"] -body: - - type: textarea - id: summary - attributes: - label: What are you trying to accomplish? - description: Please provide a clear description of what you're trying to do with DeePMD-kit. - placeholder: "e.g., Training a neural network potential for water molecules, running molecular dynamics with LAMMPS, etc." - value: - validations: - required: true - - type: input - id: version - attributes: - label: DeePMD-kit Version - description: "Run `dp --version` to check your version." - placeholder: "e.g., 2.2.7" - validations: - required: true - - type: input - id: backend-version - attributes: - label: Backend and Version - description: "Which backend and version? (The backend version is shown when running DeePMD-kit)" - placeholder: "e.g., TensorFlow v2.15.0" - validations: - required: true - - type: dropdown - id: installation-method - attributes: - label: Installation Method - options: - - conda - - pip - - docker - - Built from source - - Offline packages - - Others (specify in details) - validations: - required: true - - type: textarea - id: problem-description - attributes: - label: Problem Description - description: | - Describe the specific issue you're encountering or what you need help with. - Be as specific as possible about what's not working or what you're unsure about. - placeholder: "Describe your specific problem or question..." - value: - validations: - required: true - - type: textarea - id: reproducible-example - attributes: - label: Reproducible Example - description: | - **This section is crucial for getting effective help!** - - Please provide a complete, minimal example that others can use to reproduce your issue or understand your question. - Include: - - Input files (you can attach small files or paste content) - - Command(s) you're running - - Configuration files (input.json, etc.) - - Directory structure if relevant - - Full error messages or unexpected output - - **Tip:** The more complete and minimal your example, the easier it is for others to help you! - placeholder: | - **Input files:** - ``` - # system directory structure - data/ - ├── type_map.raw - ├── type.raw - └── set.000/ - ├── coord.npy - ├── energy.npy - └── force.npy - ``` - - **Configuration (input.json):** - ```json - { - "model": { - "type_map": ["H", "O"], - "descriptor": { - "type": "se_e2_a", - "rcut": 6.0, - "rcut_smth": 0.5, - "sel": [46, 92] - }, - "fitting_net": { - "neuron": [25, 50, 100], - "resnet_dt": false - } - }, - "learning_rate": { - "type": "exp", - "start_lr": 0.001, - "stop_lr": 3.51e-8, - "decay_steps": 5000 - }, - "loss": { - "start_pref_e": 0.02, - "limit_pref_e": 1, - "start_pref_f": 1000, - "limit_pref_f": 1, - "start_pref_v": 0, - "limit_pref_v": 0 - }, - "training": { - "numb_steps": 1000000, - "seed": 1, - "batch_size": 1, - "disp_file": "lcurve.out", - "disp_freq": 100, - "numb_test": 1, - "save_freq": 1000, - "save_ckpt": "model.ckpt", - "disp_training": true, - "time_training": true, - "profiling": false, - "profiling_file": "timeline.json" - } - } - ``` - - **Commands:** - ```bash - dp train input.json - ``` - - **Error message:** - ``` - # Paste your complete error message here - ``` - value: - validations: - required: true - - type: textarea - id: expected-behavior - attributes: - label: Expected Behavior - description: What did you expect to happen? - placeholder: Describe what you expected to occur... - value: - validations: - required: true - - type: textarea - id: actual-behavior - attributes: - label: Actual Behavior - description: What actually happened? Include any error messages, unexpected output, or describe the difference from expected behavior. - placeholder: Describe what actually happened... - value: - validations: - required: true - - type: textarea - id: additional-context - attributes: - label: Additional Context - description: | - Add any other context, screenshots, or information that might be helpful. - You can also mention if you've found any workarounds or partial solutions. - placeholder: Any other relevant information... - value: - validations: - required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/ideas.yml b/.github/DISCUSSION_TEMPLATE/ideas.yml deleted file mode 100644 index 16de57c92d..0000000000 --- a/.github/DISCUSSION_TEMPLATE/ideas.yml +++ /dev/null @@ -1,99 +0,0 @@ -title: "[Ideas] " -labels: ["idea", "enhancement"] -body: - - type: textarea - id: summary - attributes: - label: Summary - description: Brief summary of your idea or suggestion - placeholder: What's your idea for improving DeePMD-kit? - value: - validations: - required: true - - type: dropdown - id: category - attributes: - label: Category - description: What area does your suggestion relate to? - options: - - New feature - - Performance improvement - - User experience enhancement - - Documentation improvement - - API/Interface improvement - - Integration with other tools - - Other (specify in description) - validations: - required: true - - type: textarea - id: detailed-description - attributes: - label: Detailed Description - description: | - Provide a detailed description of your idea or suggestion. - Include: - - What problem does this solve? - - How would this benefit users? - - Are there any alternatives you've considered? - placeholder: Describe your idea in detail... - value: - validations: - required: true - - type: textarea - id: use-case - attributes: - label: Use Case / Example - description: | - Provide a concrete use case or example of how this feature would be used. - If applicable, include: - - Example code or configuration - - Workflow description - - Expected input/output - placeholder: | - **Example usage:** - ```python - # How users might use this feature - ``` - - **Use case:** - This would help users who... - value: - validations: - required: false - - type: textarea - id: related-work - attributes: - label: Related Work / References - description: | - Are there similar features in other tools, papers, or projects that inspired this idea? - Include links to relevant resources, publications, or implementations. - placeholder: | - - Similar feature in [other tool]: [link] - - Relevant paper: [citation/link] - - Related discussion: [link] - value: - validations: - required: false - - type: textarea - id: implementation-thoughts - attributes: - label: Implementation Thoughts - description: | - If you have ideas about how this might be implemented, share them here. - This could include: - - Potential approaches - - Technical considerations - - Whether you'd be interested in contributing to the implementation - placeholder: Any thoughts on how this could be implemented... - value: - validations: - required: false - - type: textarea - id: additional-context - attributes: - label: Additional Context - description: Any other information that would be helpful for understanding or evaluating this suggestion. - placeholder: Additional details, context, or considerations... - value: - validations: - required: false \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/q-a.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml index 96da904b9b..b4c4888545 100644 --- a/.github/DISCUSSION_TEMPLATE/q-a.yml +++ b/.github/DISCUSSION_TEMPLATE/q-a.yml @@ -1,12 +1,21 @@ title: "[Q&A] " labels: ["question"] body: + - type: markdown + attributes: + value: | + Use this form for Q&A discussions. + + This template is intentionally lightweight. + **Only fill the technical fields below if they are relevant to your question.** + + If your question is about using DeePMD-kit or diagnosing a problem, version info and a minimal reproducible example can help others answer faster. - type: textarea - id: summary + id: question attributes: - label: Summary - description: Please provide a clear and concise description of your question. - placeholder: What would you like to know about DeePMD-kit? + label: Question + description: Please describe your question clearly. + placeholder: What would you like to ask? value: validations: required: true @@ -14,66 +23,70 @@ body: id: version attributes: label: DeePMD-kit Version - description: "What version of DeePMD-kit are you using? Run `dp --version` to check." + description: "If applicable: `dp --version`." placeholder: "e.g., 2.2.7" validations: required: false - type: input id: backend-version attributes: - label: Backend and Version - description: "Which backend are you using and what version? (e.g., TensorFlow v2.15.0, PyTorch v2.0.1)" + label: Backend and its version + description: "If applicable: the backend and its version will be printed when running DeePMD-kit, e.g. TensorFlow v2.15.0." placeholder: "e.g., TensorFlow v2.15.0" validations: required: false + - type: textarea + id: other-version + attributes: + label: Python Version, CUDA Version, GCC Version, LAMMPS Version, etc + description: "If applicable, specify your platform or environment details." + placeholder: + value: + validations: + required: false - type: textarea id: details attributes: - label: Detailed Description - description: | - Please provide more details about your question. If you're having trouble with specific functionality, please include: - - What you're trying to achieve - - What you've tried so far - - Any relevant configuration or setup details - placeholder: Provide additional context that would help others understand and answer your question. + label: Details + description: "If applicable, add more context such as what you are trying to do, what you have tried, and where you got stuck." + placeholder: value: validations: - required: true + required: false - type: textarea id: reproducible-example attributes: - label: Reproducible Example (if applicable) + label: Reproducible Example, Input Files, and Commands description: | - If your question relates to specific code, input files, or commands, please provide a minimal reproducible example. - This helps others understand your issue and provide better assistance. - - **Please include:** - - Input files (minimal example) - - Commands you're running - - Configuration files - - Expected vs actual behavior + If applicable, provide a minimal reproducible example. + For software-usage questions, this is often the fastest way to get a useful answer. placeholder: | + Commands: ```bash - # Your commands here dp train input.json ``` - + + Input / config: ```json - // Your configuration here { - "model": {...} + "model": {} } ``` + + Expected behavior: + ... + + Actual behavior / error message: + ... value: validations: required: false - type: textarea - id: additional-info + id: further attributes: - label: Additional Information - description: | - Any additional information, links to documentation you've consulted, or other relevant details. - placeholder: Links, references, or other context that might be helpful. + label: Further Information, Files, and Links + description: Put any additional information here, including links to docs, papers, related issues, screenshots, or external resources. + placeholder: value: validations: - required: false \ No newline at end of file + required: false diff --git a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml deleted file mode 100644 index 0268b19ee1..0000000000 --- a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml +++ /dev/null @@ -1,124 +0,0 @@ -title: "[Show and tell] " -labels: ["show and tell"] -body: - - type: textarea - id: what-did-you-build - attributes: - label: What did you build or achieve? - description: Tell us about your project, research, or achievement using DeePMD-kit! - placeholder: Share what you've created or accomplished... - value: - validations: - required: true - - type: dropdown - id: project-type - attributes: - label: Project Type - description: What type of project or work is this? - options: - - Research project - - Educational/tutorial content - - Integration with other tools - - Performance optimization - - Application to new domain - - Methodology development - - Other (specify in description) - validations: - required: true - - type: textarea - id: technical-details - attributes: - label: Technical Details - description: | - Share the technical details of your work: - - What methods or features of DeePMD-kit did you use? - - Any interesting technical approaches or optimizations? - - System specifications or scale of your work? - placeholder: | - **DeePMD-kit features used:** - - Descriptor: se_e2_a - - Backend: TensorFlow - - Integration: LAMMPS - - **Technical approach:** - - Training dataset: [description] - - Model architecture: [details] - - Performance: [metrics] - value: - validations: - required: false - - type: textarea - id: results-achievements - attributes: - label: Results and Achievements - description: | - What results did you achieve? What makes this work interesting or notable? - Include: - - Key findings or outcomes - - Performance metrics or improvements - - Novel applications or insights - placeholder: Share your key results and achievements... - value: - validations: - required: false - - type: textarea - id: reproducible-info - attributes: - label: Reproducible Information - description: | - If others want to reproduce your work or learn from it, what information can you share? - - Links to code repositories - - Configuration files - - Dataset information (if shareable) - - Step-by-step instructions - placeholder: | - **Code repository:** [link] - **Key configurations:** - ```json - { - "model": {...} - } - ``` - **Instructions:** [brief steps to reproduce] - value: - validations: - required: false - - type: textarea - id: lessons-learned - attributes: - label: Lessons Learned - description: | - What did you learn during this project? Any tips, tricks, or insights that might help others? - - Challenges you overcame - - Best practices you discovered - - Things you'd do differently next time - placeholder: Share insights that might help others... - value: - validations: - required: false - - type: textarea - id: links-and-resources - attributes: - label: Links and Resources - description: | - Share relevant links: - - Publications or preprints - - Code repositories - - Demo videos or visualizations - - Related projects or collaborations - placeholder: | - **Publication:** [link] - **Code:** [link] - **Demo:** [link] - value: - validations: - required: false - - type: textarea - id: acknowledgments - attributes: - label: Acknowledgments - description: Any acknowledgments or thanks to the community, collaborators, or DeePMD-kit developers? - placeholder: Thank you to... - value: - validations: - required: false \ No newline at end of file From fd53615da937fd518b07593b129c010bce9fbac8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:23:17 +0000 Subject: [PATCH 6/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- doc/model/show-model-info.md | 6 ++++++ doc/train/multi-task-training.md | 1 + 2 files changed, 7 insertions(+) diff --git a/doc/model/show-model-info.md b/doc/model/show-model-info.md index 4bacc4ef02..5bffacb871 100644 --- a/doc/model/show-model-info.md +++ b/doc/model/show-model-info.md @@ -33,25 +33,31 @@ dp show frozen_model.pth type-map descriptor fitting-net size Depending on the provided attributes and the model type, the output includes: - **Model Type** + - Logs whether the loaded model is a _singletask_ or _multitask_ model. - **model-branch** + - _Only available for multitask models._ - Lists all available model branches and the special `"RANDOM"` branch, which refers to a randomly initialized fitting net. - **type-map** + - For multitask models: Shows the type map for each branch. - For singletask models: Shows the model's type map. - **descriptor** + - For multitask models: Displays the descriptor parameter for each branch. - For singletask models: Displays the descriptor parameter. - **fitting-net** + - For multitask models: Shows the fitting network parameters for each branch. - For singletask models: Shows the fitting network parameters. - **size** + - Prints the number of parameters for each component (`descriptor`, `fitting-net`, etc.), as well as the total parameter count. - **observed-type** diff --git a/doc/train/multi-task-training.md b/doc/train/multi-task-training.md index 5ba73f8919..515eeeaa79 100644 --- a/doc/train/multi-task-training.md +++ b/doc/train/multi-task-training.md @@ -46,6 +46,7 @@ Specifically, there are several parts that need to be modified: - {ref}`model/model_dict `: The core definition of the model part and the explanation of sharing rules, starting with user-defined model name keys `model_key`, such as `my_model_1`. Each model part needs to align with the components of the single-task training {ref}`model `, but with the following sharing rules: + - If you want to share the current model component with other tasks, which should be part of the {ref}`model/shared_dict `, you can directly fill in the corresponding `part_key`, such as `"descriptor": "my_descriptor", `