[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-QUVA-Lab--e2cnn":3,"tool-QUVA-Lab--e2cnn":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":23,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":99,"github_topics":100,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":106,"updated_at":107,"faqs":108,"releases":109},2232,"QUVA-Lab\u002Fe2cnn","e2cnn","E(2)-Equivariant CNNs Library for Pytorch","e2cnn 是一个基于 PyTorch 的开源扩展库，专为构建具有几何对称性的深度学习模型而设计。传统卷积神经网络（CNN）通常只能自动处理图像的平移变化，一旦图像发生旋转或翻转，模型性能往往大幅下降，需要依赖大量数据增强来弥补。e2cnn 通过引入 E(2)-等变可操纵卷积网络，从根本上解决了这一痛点，确保模型特征空间在输入图像经历平移、旋转及反射等多种几何变换时，仍能保持严格的数学对应关系。\n\n该工具的核心亮点在于将传统的“通道数”概念升级为更丰富的“特征场”类型（如标量场、向量场），并提供了动态类型检查机制，保证几何处理的严谨性。它统一并泛化了多种现有的等变 CNN 架构，让开发者能够以更少的数据训练出泛化能力更强的模型。\n\ne2cnn 非常适合计算机视觉领域的研究人员和深度学习开发者使用，特别是那些致力于医学影像分析、遥感图像处理或机器人感知等对方向敏感性要求较高场景的专业人士。需要注意的是，虽然 e2cnn 功能强大，但其开发团队已推出功能更全面的继任者 escnn 库，建议新用户优先关注新版本，但 e2cnn 仍可作为理解等变深度学习原理的优秀参考实现。","\nGeneral E(2)-Equivariant Steerable CNNs\n--------------------------------------------------------------------------------\n**[Documentation](https:\u002F\u002Fquva-lab.github.io\u002Fe2cnn\u002F)** | **[Experiments](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn_experiments)** | **[Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251)** | **[Thesis Gabriele](https:\u002F\u002Fgabri95.github.io\u002FThesis\u002Fthesis.pdf)** | **[Thesis Maurice](https:\u002F\u002Fmaurice-weiler.gitlab.io\u002F#cnn_book)** | **new [escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn) library**\n\n--------------------------------------------------------------------------------\n\nCheck out **our new [escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn) library** which extends *e2cnn* to a wider class of equivariance groups.\n---------------------------------------------------------------------------------------------------------------------------------------\nWhile we will still provide some support for this older version,\nthis library is **deprecated** and we plan to slowly abandon it in favour of the newer version **[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)**.\nNote that **[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)** already includes all features of *e2cnn* and many more.\nYou can find a short summary of the main differences in the new version [here](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn\u002Fblob\u002Fmaster\u002Fchangelog.txt).\n\n\n--------------------------------------------------------------------------------\n--------------------------------------------------------------------------------\n\n\n*e2cnn* is a [PyTorch](https:\u002F\u002Fpytorch.org\u002F) extension for equivariant deep learning.\n\n*Equivariant neural networks* guarantee a specified transformation behavior of their feature spaces under transformations of their input.\nFor instance, classical convolutional neural networks (*CNN*s) are by design equivariant to translations of their input.\nThis means that a translation of an image leads to a corresponding translation of the network's feature maps.\nThis package provides implementations of neural network modules which are equivariant under all *isometries* E(2) of the image plane $\\mathbb{R}^2$, that is, under *translations*, *rotations* and *reflections*.\nIn contrast to conventional CNNs, E(2)-equivariant models are guaranteed to generalize over such transformations, and are therefore more data efficient.\n\nThe feature spaces of E(2)-Equivariant Steerable CNNs are defined as spaces of *feature fields*, being characterized by their transformation law under rotations and reflections.\nTypical examples are scalar fields (e.g. gray-scale images or temperature fields) or vector fields (e.g. optical flow or electromagnetic fields).\n\n![feature field examples](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_e60bb01ae21e.png)\n\nInstead of a number of channels, the user has to specify the field *types* and their *multiplicities* in order to define a feature space.\nGiven a specified input- and output feature space, our ``R2conv`` module instantiates the *most general* convolutional mapping between them.\nOur library provides many other equivariant operations to process feature fields, including nonlinearities, mappings to produce invariant features, batch normalization and dropout.\nFeature fields are represented by ``GeometricTensor`` objects, which wrap a ``torch.Tensor`` with the corresponding transformation law.\nAll equivariant operations perform a dynamic type-checking in order to guarantee a geometrically sound processing of the feature fields.\n\nE(2)-Equivariant Steerable CNNs unify and generalize a wide range of isometry equivariant CNNs in one single framework.\nExamples include:\n- [Group Equivariant Convolutional Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1602.07576)\n- [Harmonic Networks: Deep Translation and Rotation Equivariance](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.04642)\n- [Steerable CNNs](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.08498)\n- [Rotation equivariant vector field networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.09346)\n- [Learning Steerable Filters for Rotation Equivariant CNNs](https:\u002F\u002Farxiv.org\u002Fabs\u002F1711.07289)\n- [HexaConv](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.02108)\n- [Roto-Translation Covariant Convolutional Networks for Medical Image Analysis](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.03393)\n\nFor more details we refer to our NeurIPS 2019 paper [General E(2)-Equivariant Steerable CNNs](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251).\n\nThe library also supports equivariant Steerable partial differential operators as described in [Steerable Partial Differential Operators for Equivariant Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.10163).\n\n--------------------------------------------------------------------------------\n\nThe library is structured into five subpackages with different high-level features:\n\n| Component                                                                              | Description                                                      |\n| ---------------------------------------------------------------------------------------| ---------------------------------------------------------------- |\n| [**e2cnn.group**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fgroup\u002F)          | implements basic concepts of *group* and *representation* theory |\n| [**e2cnn.kernels**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fkernels\u002F)      | solves for spaces of equivariant convolution kernels             |\n| [**e2cnn.diffops**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fdiffops\u002F)      | solves for spaces of equivariant differential operators          |\n| [**e2cnn.gspaces**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fgspaces\u002F)      | defines the image plane and its symmetries                       |\n| [**e2cnn.nn**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fnn\u002F)                | contains equivariant modules to build deep neural networks       |\n-----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n## Demo\n\nSince E(2)-steerable CNNs are equivariant under rotations and reflections, their inference is independent from the choice of image orientation.\nThe visualization below demonstrates this claim by feeding rotated images into a randomly initialized E(2)-steerable CNN (left).\nThe middle plot shows the equivariant transformation of a feature space, consisting of one scalar field (color-coded) and one vector field (arrows), after a few layers.\nIn the right plot we transform the feature space into a comoving reference frame by rotating the response fields back (stabilized view).\n\n![Equivariant CNN output](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_58c08b3fe9e4.gif)\n\nThe invariance of the features in the comoving frame validates the rotational equivariance of E(2)-steerable CNNs empirically.\nNote that the fluctuations of responses are discretization artifacts due to the sampling of the image on a pixel grid, which does not allow for exact continuous rotations.\n\u003C!-- Note that the fluctuations of responses are due to discretization artifacts coming from the  -->\n\nFor comparison, we show a feature map response of a conventional CNN for different image orientations below.\n\n![Conventional CNN output](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_91ade6bf5c60.gif)\n\nSince conventional CNNs are not equivariant under rotations, the response varies randomly with the image orientation.\nThis prevents CNNs from automatically generalizing learned patterns between different reference frames.\n\n\n## Experimental results\n\nE(2)-steerable convolutions can be used as a drop in replacement for the conventional convolutions used in CNNs.\nKeeping the same training setup and *without performing hyperparameter tuning*, this leads to significant performance boosts compared to CNN baselines (values are test errors in percent):\n\n model        | CIFAR-10                | CIFAR-100                | STL-10             |\n ------------ | ----------------------- | ------------------------ | ------------------ |\n CNN baseline | 2.6 &nbsp; ± 0.1 &nbsp; | 17.1 &nbsp; ± 0.3 &nbsp; |       12.74 ± 0.23 |\n E(2)-CNN *   | 2.39       ± 0.11       | 15.55       ± 0.13       |       10.57 ± 0.70 |\n E(2)-CNN     | 2.05       ± 0.03       | 14.30       ± 0.09       | &nbsp; 9.80 ± 0.40 |\n\nThe models without * are for a fair comparison designed such that the number of parameters of the baseline is approximately preserved while models with * preserve the number of channels, and hence compute.\nFor more details we refer to our [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251).\n\n## Getting Started\n\n*e2cnn* is easy to use since it provides a high level user interface which abstracts most intricacies of group and representation theory away.\nThe following code snippet shows how to perform an equivariant convolution from an RGB-image to 10 *regular* feature fields (corresponding to a\n[group convolution](https:\u002F\u002Farxiv.org\u002Fabs\u002F1602.07576)).\n\n```python3\nfrom e2cnn import gspaces                                          #  1\nfrom e2cnn import nn                                               #  2\nimport torch                                                       #  3\n                                                                   #  4\nr2_act = gspaces.Rot2dOnR2(N=8)                                    #  5\nfeat_type_in  = nn.FieldType(r2_act,  3*[r2_act.trivial_repr])     #  6\nfeat_type_out = nn.FieldType(r2_act, 10*[r2_act.regular_repr])     #  7\n                                                                   #  8\nconv = nn.R2Conv(feat_type_in, feat_type_out, kernel_size=5)       #  9\nrelu = nn.ReLU(feat_type_out)                                      # 10\n                                                                   # 11\nx = torch.randn(16, 3, 32, 32)                                     # 12\nx = nn.GeometricTensor(x, feat_type_in)                            # 13\n                                                                   # 14\ny = relu(conv(x))                                                  # 15\n```\n\nLine 5 specifies the symmetry group action on the image plane $\\mathbb{R}^2$ under which the network should be equivariant.\nWe choose the \n[*cyclic group*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCyclic_group)\n C\u003Csub>8\u003C\u002Fsub>, which describes discrete rotations by multiples of 2π\u002F8.\nLine 6 specifies the input feature field types.\nThe three color channels of an RGB image are thereby to be identified as three independent scalar fields, which transform under the\n[*trivial representation*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTrivial_representation)\n of C\u003Csub>8\u003C\u002Fsub>.\nSimilarly, the output feature space is in line 7 specified to consist of 10 feature fields which transform under the\n[*regular representation*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRegular_representation)\nof C\u003Csub>8\u003C\u002Fsub>.\nThe C\u003Csub>8\u003C\u002Fsub>-equivariant convolution is then instantiated by passing the input and output type as well as the kernel size to the constructor (line 9).\nLine 10 instantiates an equivariant ReLU nonlinearity which will operate on the output field and is therefore passed the output field type.\n\nLines 12 and 13 generate a random minibatch of RGB images and wrap them into a `nn.GeometricTensor` to associate them with their correct field type.\nThe equivariant modules process the geometric tensor in line 15.\nEach module is thereby checking whether the geometric tensor passed to them satisfies the expected transformation law.\n\nBecause the parameters do not need to be updated anymore at test time, after training, any equivariant network can be \nconverted into a pure PyTorch model with no additional computational overhead in comparison to conventional CNNs.\nThe code currently supports the automatic conversion of a few commonly used modules through the `.export()` method; \ncheck the [documentation](https:\u002F\u002Fquva-lab.github.io\u002Fe2cnn\u002Fapi\u002Fe2cnn.nn.html) for more details.\n\nA hands-on tutorial, introducing the basic functionality of *e2cnn*, is provided in [introduction.ipynb](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fintroduction.ipynb).\nCode for training and evaluating a simple model on the [*rotated MNIST*](https:\u002F\u002Fsites.google.com\u002Fa\u002Flisa.iro.umontreal.ca\u002Fpublic_static_twiki\u002Fvariations-on-the-mnist-digits) dataset is given in [model.ipynb](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fmodel.ipynb).\n\nMore complex equivariant *Wide Resnet* models are implemented in [e2wrn.py](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fe2wrn.py).\nTo try a model which is equivariant under reflections call:\n```\ncd examples\npython e2wrn.py\n```\nA version of the same model which is simultaneously equivariant under reflections and rotations of angles multiple of 90 degrees can be run via:\n```\npython e2wrn.py --rot90\n```\n\n\n## Dependencies\n\nThe library is based on Python3.7\n\n```\ntorch>=1.1\nnumpy\nscipy\n```\nOptional:\n```\npymanopt\nautograd\n```\n\nThe following packages\n```\nsympy\nrbf\n```\nare required to use the steerable differential operators.\n\nCheck the branch [legacy_py3.6](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Flegacy_py3.6) for a Python 3.6 compatible version of the library.\n\n## Installation\n\nYou can install the latest [release](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Freleases) as\n\n```\npip install e2cnn\n```\n\nor you can clone this repository and manually install it with\n```\npip install git+https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\n```\n\n\nNOTE: the ```rbf``` dependency (necessary to use differential operators) can not\nbe installed automatically since PyPI does not support direct dependencies \n(see [here](https:\u002F\u002Fstackoverflow.com\u002Fa\u002F54894359)).\nYou can install ```rbf``` manually by following [these](https:\u002F\u002Fgithub.com\u002Ftreverhines\u002FRBF) instructions.\n\n## Cite\n\nThe development of this library was part of the work done for our paper\n[General E(2)-Equivariant Steerable CNNs](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251). \nPlease cite this work if you use our code:\n\n```\n@inproceedings{e2cnn,\n    title={{General E(2)-Equivariant Steerable CNNs}},\n    author={Weiler, Maurice and Cesa, Gabriele},\n    booktitle={Conference on Neural Information Processing Systems (NeurIPS)},\n    year={2019},\n}\n```\n\nThe implementation of steerable PDOs are part of the work done in the paper\n[Steerable Partial Differential Operators for Equivariant Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.10163).\nPlease, cite it if you use this code in your own work:\n```\n@inproceedings{jenner2022steerable,\n    title={Steerable Partial Differential Operators for Equivariant Neural Networks},\n    author={Erik Jenner and Maurice Weiler},\n    booktitle={International Conference on Learning Representations},\n    year={2022},\n    url={https:\u002F\u002Fopenreview.net\u002Fforum?id=N9W24a4zU}\n}\n```\n\n\nFeel free to [contact us](mailto:cesa.gabriele@gmail.com,m.weiler.ml@gmail.com).\n\n## License\n\n*e2cnn* is distributed under BSD Clear license. See LICENSE file.\n","通用E(2)等变可导CNN\n--------------------------------------------------------------------------------\n**[文档](https:\u002F\u002Fquva-lab.github.io\u002Fe2cnn\u002F)** | **[实验](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn_experiments)** | **[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251)** | **[加布里埃莱的学位论文](https:\u002F\u002Fgabri95.github.io\u002FThesis\u002Fthesis.pdf)** | **[莫里斯的学位论文](https:\u002F\u002Fmaurice-weiler.gitlab.io\u002F#cnn_book)** | 新的[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)库\n\n--------------------------------------------------------------------------------\n\n请查看**我们新的[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)库**，它将*e2cnn*扩展到了更广泛的等变群类。\n---------------------------------------------------------------------------------------------------------------------------------------\n尽管我们仍会为这个旧版本提供一定支持，\n但该库已被**弃用**，我们计划逐步停止维护，转而使用更新的版本**[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)**。\n请注意，**[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)**已经包含了*e2cnn*的所有功能，并且还有更多新特性。\n您可以在新版本中找到主要差异的简要总结[这里](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn\u002Fblob\u002Fmaster\u002Fchangelog.txt)。\n\n\n--------------------------------------------------------------------------------\n--------------------------------------------------------------------------------\n\n\n*e2cnn*是用于等变深度学习的[PyTorch](https:\u002F\u002Fpytorch.org\u002F)扩展。\n\n*等变神经网络*保证其特征空间在输入变换下的特定变换行为。例如，经典的卷积神经网络（CNN）在设计上对其输入的平移具有等变性。\n这意味着图像的平移会导致网络特征图的相应平移。本库提供了在图像平面$\\mathbb{R}^2$的所有*等距变换*E(2)下——即*平移*、*旋转*和*反射*——都具有等变性的神经网络模块实现。\n与传统CNN不同，E(2)等变模型能够保证在这些变换上的泛化能力，因此数据效率更高。\n\nE(2)等变可导CNN的特征空间被定义为*特征场*的空间，其特点是由它们在旋转和反射下的变换规律所决定。典型的例子包括标量场（如灰度图像或温度场）或矢量场（如光流或电磁场）。\n\n![特征场示例](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_e60bb01ae21e.png)\n\n用户无需指定通道数，而是需要明确字段的*类型*及其*多重性*来定义特征空间。给定指定的输入和输出特征空间，我们的``R2conv``模块会实例化两者之间*最通用*的卷积映射。\n我们的库还提供了许多其他处理特征场的等变操作，包括非线性层、生成不变特征的映射、批归一化和丢弃层等。特征场由``GeometricTensor``对象表示，它封装了一个带有相应变换规律的``torch.Tensor``。所有等变操作都会进行动态类型检查，以确保对特征场的几何处理是合理的。\n\nE(2)等变可导CNN在一个统一的框架中整合并推广了多种等距变换等变的CNN。示例包括：\n- [群等变卷积网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1602.07576)\n- [谐波网络：深度平移和旋转等变性](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.04642)\n- [可导CNN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.08498)\n- [旋转等变矢量场网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.09346)\n- [学习用于旋转等变CNN的可导滤波器](https:\u002F\u002Farxiv.org\u002Fabs\u002F1711.07289)\n- [HexaConv](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.02108)\n- [用于医学图像分析的旋转变换协变卷积网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.03393)\n\n更多细节请参阅我们在NeurIPS 2019发表的论文[通用E(2)等变可导CNN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251)。\n\n该库还支持等变可导偏微分算子，如[用于等变神经网络的可导偏微分算子](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.10163)中所述。\n\n--------------------------------------------------------------------------------\n\n该库由五个子包组成，每个子包具有不同的高级功能：\n\n| 组件                                                                              | 描述                                                      |\n| ---------------------------------------------------------------------------------------| ---------------------------------------------------------------- |\n| [**e2cnn.group**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fgroup\u002F)          | 实现了*群*和*表示论*的基本概念 |\n| [**e2cnn.kernels**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fkernels\u002F)      | 求解等变卷积核的空间             |\n| [**e2cnn.diffops**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fdiffops\u002F)      | 求解等变微分算子的空间           |\n| [**e2cnn.gspaces**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fgspaces\u002F)      | 定义图像平面及其对称性           |\n| [**e2cnn.nn**](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Fmaster\u002Fe2cnn\u002Fnn\u002F)                | 包含用于构建深度神经网络的等变模块       |\n-----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n## 演示\n\n由于 E(2) 可导向 CNN 在旋转和反射下具有等变性，因此其推理结果与图像的方向选择无关。\n下方的可视化演示了这一观点：我们将旋转后的图像输入到一个随机初始化的 E(2) 可导向 CNN 中（左图）。\n中间的图表展示了经过几层网络后，特征空间的等变变换，该特征空间由一个标量场（颜色编码）和一个向量场（箭头）组成。\n在右图中，我们通过将响应场反向旋转，将其转换为随动参考系（稳定视图）。\n\n![等变 CNN 输出](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_58c08b3fe9e4.gif)\n\n在随动参考系中特征的不变性从实验上验证了 E(2) 可导向 CNN 的旋转等变性。\n请注意，响应的波动是由于在像素网格上对图像进行采样所导致的离散化伪影，这使得精确的连续旋转无法实现。\n\u003C!-- 请注意，响应的波动是由离散化伪影引起的 -->\n\n为了进行对比，我们在下方展示了传统 CNN 在不同图像方向下的特征图响应。\n\n![传统 CNN 输出](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_readme_91ade6bf5c60.gif)\n\n由于传统 CNN 不具备旋转等变性，其响应会随着图像方向的不同而随机变化。这阻碍了 CNN 自动地在不同参考系之间泛化已学习的模式。\n\n\n## 实验结果\n\nE(2) 可导向卷积可以作为传统 CNN 中使用的常规卷积的直接替代品。\n在保持相同的训练设置且*未进行超参数调优*的情况下，与 CNN 基线相比，性能显著提升（数值为测试误差，以百分比表示）：\n\n模型        | CIFAR-10                | CIFAR-100                | STL-10             |\n ------------ | ----------------------- | ------------------------ | ------------------ |\n CNN 基线 | 2.6 &nbsp; ± 0.1 &nbsp; | 17.1 &nbsp; ± 0.3 &nbsp; |       12.74 ± 0.23 |\n E(2)-CNN *   | 2.39       ± 0.11       | 15.55       ± 0.13       |       10.57 ± 0.70 |\n E(2)-CNN     | 2.05       ± 0.03       | 14.30       ± 0.09       | &nbsp; 9.80 ± 0.40 |\n\n没有 * 的模型是为了公平比较而设计的，其参数数量大致与基线保持一致；而带有 * 的模型则保留了通道数，从而保持了计算量。\n更多细节请参阅我们的[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.08251)。\n\n## 入门指南\n\n*e2cnn* 使用起来非常简单，因为它提供了一个高层次的用户界面，抽象掉了群论和表示论中的大部分复杂细节。\n以下代码片段展示了如何从一张 RGB 图像执行一次等变卷积，生成 10 个 *正则* 特征场（对应于\n[群卷积](https:\u002F\u002Farxiv.org\u002Fabs\u002F1602.07576)）。\n\n```python3\nfrom e2cnn import gspaces                                          #  1\nfrom e2cnn import nn                                               #  2\nimport torch                                                       #  3\n                                                                   #  4\nr2_act = gspaces.Rot2dOnR2(N=8)                                    #  5\nfeat_type_in  = nn.FieldType(r2_act,  3*[r2_act.trivial_repr])     #  6\nfeat_type_out = nn.FieldType(r2_act, 10*[r2_act.regular_repr])     #  7\n                                                                   #  8\nconv = nn.R2Conv(feat_type_in, feat_type_out, kernel_size=5)       #  9\nrelu = nn.ReLU(feat_type_out)                                      # 10\n                                                                   # 11\nx = torch.randn(16, 3, 32, 32)                                     # 12\nx = nn.GeometricTensor(x, feat_type_in)                            # 13\n                                                                   # 14\ny = relu(conv(x))                                                  # 15\n```\n\n第 5 行指定了网络应在其上保持等变性的图像平面 $\\mathbb{R}^2$ 上的对称群作用。我们选择了\n[*循环群*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCyclic_group)\n C\u003Csub>8\u003C\u002Fsub>,它描述了以 2π\u002F8 为步长的离散旋转。\n第 6 行指定了输入特征场的类型。RGB 图像的三个颜色通道被视为三个独立的标量场，它们按照 C\u003Csub>8\u003C\u002Fsub> 的\n[*平凡表示*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTrivial_representation)\n进行变换。\n同样地，第 7 行指定了输出特征空间由 10 个特征场组成，这些特征场按照 C\u003Csub>8\u003C\u002Fsub> 的\n[*正则表示*](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRegular_representation)\n进行变换。\n然后，通过将输入和输出类型以及卷积核大小传递给构造函数（第 9 行），实例化了 C\u003Csub>8\u003C\u002Fsub> 等变卷积。\n第 10 行实例化了一个等变的 ReLU 非线性激活函数，它将作用于输出特征场，因此传入了输出特征类型的参数。\n\n第 12 和 13 行生成了一组随机的 RGB 图像小批量，并将其包装进 `nn.GeometricTensor` 中，以便将其与正确的场类型相关联。等变模块在第 15 行处理这个几何张量。每个模块都会检查传入的几何张量是否符合预期的变换规则。\n\n由于在测试时无需再更新参数，因此在训练完成后，任何等变网络都可以转换为纯 PyTorch 模型，且不会比传统 CNN 增加额外的计算开销。当前代码支持通过 `.export()` 方法自动转换一些常用模块；更多详情请参阅[文档](https:\u002F\u002Fquva-lab.github.io\u002Fe2cnn\u002Fapi\u002Fe2cnn.nn.html)。\n\n关于 *e2cnn* 基本功能的动手教程，请参阅 [introduction.ipynb](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fintroduction.ipynb)。\n用于在 [*旋转 MNIST*](https:\u002F\u002Fsites.google.com\u002Fa\u002Flisa.iro.umontreal.ca\u002Fpublic_static_twiki\u002Fvariations-on-the-mnist-digits) 数据集上训练和评估简单模型的代码可在 [model.ipynb](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fmodel.ipynb) 中找到。\n\n更复杂的等变 *Wide Resnet* 模型已在 [e2wrn.py](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Fblob\u002Fmaster\u002Fexamples\u002Fe2wrn.py) 中实现。要尝试一个在反射下等变的模型，请运行：\n```\ncd examples\npython e2wrn.py\n```\n如果需要同时在反射以及 90 度整数倍旋转下等变的版本，可以运行：\n```\npython e2wrn.py --rot90\n```\n\n## 依赖项\n\n该库基于 Python 3.7。\n\n```\ntorch>=1.1\nnumpy\nscipy\n```\n\n可选依赖：\n```\npymanopt\nautograd\n```\n\n以下包\n```\nsympy\nrbf\n```\n是使用可导向微分算子所必需的。\n\n如需 Python 3.6 兼容版本，请查看分支 [legacy_py3.6](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Ftree\u002Flegacy_py3.6)。\n\n## 安装\n\n您可以安装最新的 [release](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\u002Freleases)，命令如下：\n\n```\npip install e2cnn\n```\n\n或者，您也可以克隆此仓库并手动安装：\n\n```\npip install git+https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fe2cnn\n```\n\n注意：`rbf` 依赖项（用于使用微分算子）无法自动安装，因为 PyPI 不支持直接依赖（详见 [这里](https:\u002F\u002Fstackoverflow.com\u002Fa\u002F54894359)）。您可以按照 [这些](https:\u002F\u002Fgithub.com\u002Ftreverhines\u002FRBF) 指导手动安装 `rbf`。\n\n## 引用\n\n本库的开发是我们论文《General E(2)-Equivariant Steerable CNNs》（arXiv:1911.08251）工作的一部分。如果您使用我们的代码，请引用该工作：\n\n```\n@inproceedings{e2cnn,\n    title={{General E(2)-Equivariant Steerable CNNs}},\n    author={Weiler, Maurice and Cesa, Gabriele},\n    booktitle={Conference on Neural Information Processing Systems (NeurIPS)},\n    year={2019},\n}\n```\n\n可导向偏微分算子的实现则属于论文《Steerable Partial Differential Operators for Equivariant Neural Networks》（arXiv:2106.10163）的工作内容。如果您在自己的工作中使用了这部分代码，请引用该论文：\n\n```\n@inproceedings{jenner2022steerable,\n    title={Steerable Partial Differential Operators for Equivariant Neural Networks},\n    author={Erik Jenner and Maurice Weiler},\n    booktitle={International Conference on Learning Representations},\n    year={2022},\n    url={https:\u002F\u002Fopenreview.net\u002Fforum?id=N9W24a4zU}\n}\n```\n\n欢迎随时 [联系我们](mailto:cesa.gabriele@gmail.com,m.weiler.ml@gmail.com)。\n\n## 许可证\n\n*e2cnn* 采用 BSD Clear 许可证发布。详情请参阅 LICENSE 文件。","# e2cnn 快速上手指南\n\n**e2cnn** 是一个基于 PyTorch 的扩展库，用于构建 **E(2)-等变（Equivariant）可操纵卷积神经网络**。与传统 CNN 仅对平移具有等变性不同，e2cnn 保证网络特征空间在输入图像的**平移、旋转和反射**变换下具有确定的变换行为。这使得模型在处理具有方向变化的数据时更加高效且泛化能力更强。\n\n> **注意**：该库目前已进入维护模式，官方推荐使用其继任者 **[escnn](https:\u002F\u002Fgithub.com\u002FQUVA-Lab\u002Fescnn)**，后者支持更广泛的等变群并包含 e2cnn 的所有功能。若需长期项目或更复杂需求，建议直接考察 escnn。\n\n---\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux, macOS, Windows (WSL 推荐)\n- **Python 版本**：3.6 - 3.9 (推荐 3.8+)\n- **PyTorch 版本**：>= 1.4.0 (推荐最新稳定版)\n\n### 前置依赖\n确保已安装 PyTorch。建议使用 `conda` 或 `pip` 预先配置好 CUDA 环境（如需 GPU 加速）。\n\n```bash\n# 检查 PyTorch 是否安装\npython -c \"import torch; print(torch.__version__)\"\n```\n\n---\n\n## 安装步骤\n\n可以通过 `pip` 直接安装最新版本：\n\n```bash\npip install e2cnn\n```\n\n如果下载速度较慢，可以使用国内镜像源加速安装：\n\n```bash\npip install e2cnn -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n或者使用阿里云镜像：\n\n```bash\npip install e2cnn -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n```\n\n安装完成后，验证安装是否成功：\n\n```bash\npython -c \"import e2cnn; print(e2cnn.__version__)\"\n```\n\n---\n\n## 基本使用\n\ne2cnn 提供了高层接口，屏蔽了复杂的群论细节。以下示例展示如何构建一个简单的等变卷积层，将 RGB 图像转换为 10 个正则特征场（Regular Feature Fields）。\n\n### 代码示例\n\n```python3\nfrom e2cnn import gspaces                                          # 1. 导入几何空间模块\nfrom e2cnn import nn                                               # 2. 导入神经网络模块\nimport torch                                                       # 3. 导入 PyTorch\n\n# 5. 定义对称群作用：选择 C8 循环群（离散旋转，步长为 2π\u002F8）\nr2_act = gspaces.Rot2dOnR2(N=8)\n\n# 6. 定义输入特征类型：RGB 图像视为 3 个标量场（平凡表示）\nfeat_type_in  = nn.FieldType(r2_act,  3*[r2_act.trivial_repr])\n\n# 7. 定义输出特征类型：10 个正则表示的特征场\nfeat_type_out = nn.FieldType(r2_act, 10*[r2_act.regular_repr])\n\n# 9. 实例化等变卷积层 (核大小 5x5)\nconv = nn.R2Conv(feat_type_in, feat_type_out, kernel_size=5)\n\n# 10. 实例化等变 ReLU 激活函数\nrelu = nn.ReLU(feat_type_out)\n\n# 12. 生成随机小批量 RGB 图像 (Batch=16, Channels=3, H=32, W=32)\nx = torch.randn(16, 3, 32, 32)\n\n# 13. 将普通 Tensor 包装为 GeometricTensor，关联其变换法则\nx = nn.GeometricTensor(x, feat_type_in)\n\n# 15. 执行前向传播：卷积 -> 激活\ny = relu(conv(x))\n\nprint(y.shape)  # 输出经过等变处理后的特征图形状\n```\n\n### 关键点说明\n1. **群定义 (`gspaces`)**：通过 `Rot2dOnR2(N=8)` 定义平面上的旋转对称性。\n2. **特征类型 (`FieldType`)**：不再单纯指定通道数，而是指定场的**类型**（如标量、向量）及其**重数**。\n   - `trivial_repr`：标量场（如灰度图），旋转不改变数值。\n   - `regular_repr`：正则场，随群元素变化而置换。\n3. **几何张量 (`GeometricTensor`)**：所有等变操作都作用于该对象，它内部包含了数据及其变换规则，并进行动态类型检查以确保几何一致性。\n\n### 模型导出（可选）\n训练完成后，可将等变网络导出为标准 PyTorch 模型，推理时无额外计算开销：\n\n```python\n# 假设 model 是已训练好的等变网络\nstandard_model = model.export()\n```\n\n更多高级用法（如构建完整网络、使用微分算子等）请参考官方 [Documentation](https:\u002F\u002Fquva-lab.github.io\u002Fe2cnn\u002F) 或仓库中的 `examples\u002Fintroduction.ipynb` 教程。","某医疗影像团队正在开发一套自动检测肺部结节的 AI 系统，需要确保模型能精准识别任意角度拍摄的 CT 切片。\n\n### 没有 e2cnn 时\n- **数据依赖严重**：为了让模型学会识别旋转后的结节，必须对训练数据进行大量人工旋转增强，导致数据集膨胀且训练时间成倍增加。\n- **泛化能力不足**：当遇到训练集中未覆盖的特殊角度或翻转图像时，传统 CNN 容易漏检或误报，因为平移等变性无法天然保证旋转一致性。\n- **特征提取低效**：网络需要消耗大量算力去“重新学习”旋转不变性这一基础几何规律，而非专注于结节本身的病理特征。\n- **调试困难**：难以从数学层面保证特征图在空间变换下的行为符合预期，模型鲁棒性往往只能靠反复试错来碰运气。\n\n### 使用 e2cnn 后\n- **数据效率飞跃**：利用 e2cnn 构建的 E(2)-等变网络天然具备旋转和反射等变性，无需大量数据增强即可在小样本下实现高精度识别。\n- **几何一致性保障**：无论 CT 切片如何旋转或翻转，e2cnn 都能保证特征图发生对应的几何变换，从根本上消除了因角度变化导致的漏检。\n- **专注核心任务**：网络不再浪费资源学习基础几何变换，而是将全部容量用于提取结节的纹理与形态特征，显著提升了检测准确率。\n- **类型安全开发**：通过 `GeometricTensor` 对象和动态类型检查，开发者能确保每一步操作都符合几何逻辑，大幅降低了架构设计的出错率。\n\ne2cnn 通过将几何先验知识直接嵌入网络架构，让 AI 模型用更少的数据学会了更稳健的空间理解能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FQUVA-Lab_e2cnn_e60bb01a.png","QUVA-Lab","QUVA Deep Vision Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FQUVA-Lab_67957d14.png","",null,"https:\u002F\u002Fivi.fnwi.uva.nl\u002Fquva\u002F","https:\u002F\u002Fgithub.com\u002FQUVA-Lab",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,673,85,"2026-04-03T13:50:36","NOASSERTION","未说明","未说明（作为 PyTorch 扩展，支持 CPU 和 GPU，具体取决于底层 PyTorch 配置）",{"notes":94,"python":95,"dependencies":96},"该库是 PyTorch 的扩展，用于构建 E(2) 等变卷积神经网络。官方已声明此库 (e2cnn) 处于弃用状态，建议用户迁移至新版库 'escnn'，后者包含 e2cnn 的所有功能并支持更广泛的等变群。安装前需确保已正确安装 PyTorch。训练后可通过 .export() 方法将模型转换为标准 PyTorch 模型以消除推理时的额外开销。","3.x (基于代码示例推断，具体版本未说明)",[97,98],"torch","numpy",[13],[101,102,103,104,105],"equivariance","group-convolution","cnns","pytorch","equivariant-network","2026-03-27T02:49:30.150509","2026-04-06T09:45:06.774865",[],[110,115,120,124,128,132,136,140,144,148],{"id":111,"version":112,"summary_zh":113,"released_at":114},107518,"v0.2.1","fix DiscretizationArgs in differential operators","2021-10-21T18:22:12",{"id":116,"version":117,"summary_zh":118,"released_at":119},107519,"v0.2.0","Support equivariant Steerable PCOs","2021-10-20T08:39:00",{"id":121,"version":122,"summary_zh":79,"released_at":123},107520,"v0.1.9","2021-07-06T09:38:29",{"id":125,"version":126,"summary_zh":79,"released_at":127},107521,"v0.1.7","2021-03-29T17:09:09",{"id":129,"version":130,"summary_zh":79,"released_at":131},107522,"v0.1.6","2021-03-17T13:27:07",{"id":133,"version":134,"summary_zh":79,"released_at":135},107523,"v0.1.5","2020-11-12T11:35:25",{"id":137,"version":138,"summary_zh":79,"released_at":139},107524,"v0.1.3","2020-10-23T12:07:18",{"id":141,"version":142,"summary_zh":79,"released_at":143},107525,"v0.1.2","2020-10-09T08:41:08",{"id":145,"version":146,"summary_zh":79,"released_at":147},107526,"v0.1.1","2020-10-08T09:37:11",{"id":149,"version":150,"summary_zh":151,"released_at":152},107527,"v0.1","First release","2020-09-28T11:49:35"]