Description
Pretrained Swin model for Image Classification, adapted from Hugging Face and curated to provide scalability and production-readiness using Spark NLP.
Swin Transformer was introduced in the paper Swin Transformer: Hierarchical Vision Transformer using Shifted Windows by Liu et al.
How to use
image_assembler = ImageAssembler()\
.setInputCol("image")\
.setOutputCol("image_assembler")
imageClassifier = SwinForImageClassification.pretrained("image_classifier_swin_tiny_patch4_window7_224", "en")\
.setInputCols("image_assembler")\
.setOutputCol("class")
pipeline = Pipeline(stages=[
image_assembler,
imageClassifier,
])
pipelineModel = pipeline.fit(imageDF)
pipelineDF = pipelineModel.transform(imageDF)
val imageAssembler = new ImageAssembler()
.setInputCol("image")
.setOutputCol("image_assembler")
val imageClassifier = SwinForImageClassification
.pretrained("image_classifier_swin_tiny_patch4_window7_224", "en")
.setInputCols("image_assembler")
.setOutputCol("class")
val pipeline = new Pipeline().setStages(Array(imageAssembler, imageClassifier))
val pipelineModel = pipeline.fit(imageDF)
val pipelineDF = pipelineModel.transform(imageDF)
import nlu
import requests
response = requests.get('https://raw.githubusercontent.com/JohnSnowLabs/spark-nlp/master/docs/assets/images/hen.JPEG')
with open('hen.JPEG', 'wb') as f:
f.write(response.content)
nlu.load("en.classify_image.swin.tiny").predict("hen.JPEG")
Model Information
Model Name: | image_classifier_swin_tiny_patch4_window7_224 |
Compatibility: | Spark NLP 4.3.0+ |
License: | Open Source |
Edition: | Official |
Input Labels: | [image_assembler] |
Output Labels: | [class] |
Language: | en |
Size: | 216.2 MB |
References
https://huggingface.co/microsoft/swin-tiny-patch4-window7-224