🚀 ResNet-18模型
該模型在ImageNette上進行了預訓練。ResNet架構在這篇論文中被提出,可用於圖像分類任務。
🚀 快速開始
ResNet-18模型在圖像分類領域表現出色,它基於ResNet架構,通過預訓練能對圖像進行高效準確的分類。使用前需完成安裝,安裝完成後可參考使用示例進行圖像分類任務。
✨ 主要特性
- 預訓練模型:在ImageNette數據集上進行了預訓練,可直接用於圖像分類任務。
- 架構創新:作者的核心思想是通過添加跳躍連接(skip connection)來幫助梯度在眾多層中傳播,有效緩解了梯度消失問題。
📦 安裝指南
前提條件
安裝Holocron需要Python 3.6(或更高版本)以及 pip 或 conda。
最新穩定版本
你可以使用 pypi 安裝該包的最新穩定版本,命令如下:
pip install pylocron
或者使用 conda 安裝:
conda install -c frgfm pylocron
開發模式
如果你想使用該項目中尚未發佈的最新功能,可以從源代碼安裝該包(需先安裝 Git):
git clone https://github.com/frgfm/Holocron.git
pip install -e Holocron/.
💻 使用示例
基礎用法
from PIL import Image
from torchvision.transforms import Compose, ConvertImageDtype, Normalize, PILToTensor, Resize
from torchvision.transforms.functional import InterpolationMode
from holocron.models import model_from_hf_hub
model = model_from_hf_hub("frgfm/resnet18").eval()
img = Image.open(path_to_an_image).convert("RGB")
config = model.default_cfg
transform = Compose([
Resize(config['input_shape'][1:], interpolation=InterpolationMode.BILINEAR),
PILToTensor(),
ConvertImageDtype(torch.float32),
Normalize(config['mean'], config['std'])
])
input_tensor = transform(img).unsqueeze(0)
with torch.inference_mode():
output = model(input_tensor)
probs = output.squeeze(0).softmax(dim=0)
📚 詳細文檔
原論文詳細介紹了ResNet架構的原理和實驗結果,你可以通過以下鏈接查看:
📄 許可證
本項目採用Apache-2.0許可證。
📖 引用
如果你使用了該模型或代碼,請引用以下論文和項目:
原論文
@article{DBLP:journals/corr/HeZRS15,
author = {Kaiming He and
Xiangyu Zhang and
Shaoqing Ren and
Jian Sun},
title = {Deep Residual Learning for Image Recognition},
journal = {CoRR},
volume = {abs/1512.03385},
year = {2015},
url = {http://arxiv.org/abs/1512.03385},
eprinttype = {arXiv},
eprint = {1512.03385},
timestamp = {Wed, 17 Apr 2019 17:23:45 +0200},
biburl = {https://dblp.org/rec/journals/corr/HeZRS15.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
本實現的來源
@software{Fernandez_Holocron_2020,
author = {Fernandez, François-Guillaume},
month = {5},
title = {{Holocron}},
url = {https://github.com/frgfm/Holocron},
year = {2020}
}