90 lines
17 KiB
Markdown
90 lines
17 KiB
Markdown
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "717775c4050ccbffbe0c961ad8bf7bf7",
|
|
"translation_date": "2025-08-26T09:44:51+00:00",
|
|
"source_file": "lessons/4-ComputerVision/08-TransferLearning/README.md",
|
|
"language_code": "pa"
|
|
}
|
|
-->
|
|
# ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਨੈਟਵਰਕ ਅਤੇ ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ
|
|
|
|
CNNs ਨੂੰ ਟ੍ਰੇਨ ਕਰਨ ਵਿੱਚ ਕਾਫ਼ੀ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਸ ਕੰਮ ਲਈ ਕਾਫ਼ੀ ਡਾਟਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਹਾਲਾਂਕਿ, ਜ਼ਿਆਦਾਤਰ ਸਮਾਂ ਉਹਨਾਂ ਬਿਹਤਰ ਲੋਅ-ਲੇਵਲ ਫਿਲਟਰਾਂ ਨੂੰ ਸਿੱਖਣ ਵਿੱਚ ਲੱਗਦਾ ਹੈ ਜੋ ਨੈਟਵਰਕ ਚਿੱਤਰਾਂ ਵਿੱਚੋਂ ਪੈਟਰਨ ਕੱਢਣ ਲਈ ਵਰਤ ਸਕਦਾ ਹੈ। ਇੱਕ ਕੁਦਰਤੀ ਸਵਾਲ ਉੱਠਦਾ ਹੈ - ਕੀ ਅਸੀਂ ਇੱਕ ਡਾਟਾਸੈਟ 'ਤੇ ਟ੍ਰੇਨ ਕੀਤੇ ਗਏ ਨਿਊਰਲ ਨੈਟਵਰਕ ਨੂੰ ਵਰਤ ਕੇ ਵੱਖ-ਵੱਖ ਚਿੱਤਰਾਂ ਨੂੰ ਕਲਾਸੀਫਾਈ ਕਰਨ ਲਈ ਅਡਾਪਟ ਕਰ ਸਕਦੇ ਹਾਂ ਬਿਨਾਂ ਪੂਰੇ ਟ੍ਰੇਨਿੰਗ ਪ੍ਰਕਿਰਿਆ ਦੀ ਲੋੜ ਪਏ?
|
|
|
|
## [ਪ੍ਰੀ-ਲੈਕਚਰ ਕਵਿਜ਼](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/108)
|
|
|
|
ਇਸ ਪਹੁੰਚ ਨੂੰ **ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ** ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਕਿਉਂਕਿ ਅਸੀਂ ਇੱਕ ਨਿਊਰਲ ਨੈਟਵਰਕ ਮਾਡਲ ਤੋਂ ਦੂਜੇ ਵਿੱਚ ਕੁਝ ਗਿਆਨ ਟ੍ਰਾਂਸਫਰ ਕਰਦੇ ਹਾਂ। ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਵਿੱਚ, ਅਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਮਾਡਲ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹਾਂ, ਜੋ ਕਿ ਕਿਸੇ ਵੱਡੇ ਚਿੱਤਰ ਡਾਟਾਸੈਟ, ਜਿਵੇਂ ਕਿ **ImageNet**, 'ਤੇ ਟ੍ਰੇਨ ਕੀਤਾ ਗਿਆ ਹੁੰਦਾ ਹੈ। ਇਹ ਮਾਡਲ ਪਹਿਲਾਂ ਹੀ ਜਨਰਲ ਚਿੱਤਰਾਂ ਵਿੱਚੋਂ ਵੱਖ-ਵੱਖ ਫੀਚਰ ਕੱਢਣ ਵਿੱਚ ਵਧੀਆ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਕਈ ਕੇਸਾਂ ਵਿੱਚ ਉਹਨਾਂ ਕੱਢੇ ਗਏ ਫੀਚਰਾਂ ਦੇ ਉੱਪਰ ਸਿਰਫ਼ ਇੱਕ ਕਲਾਸੀਫਾਇਰ ਬਣਾਉਣਾ ਚੰਗੇ ਨਤੀਜੇ ਦੇ ਸਕਦਾ ਹੈ।
|
|
|
|
> ✅ ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਇੱਕ ਸ਼ਬਦ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਹੋਰ ਅਕਾਦਮਿਕ ਖੇਤਰਾਂ ਵਿੱਚ ਵੀ ਮਿਲਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਸਿੱਖਿਆ। ਇਹ ਉਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਇੱਕ ਖੇਤਰ ਤੋਂ ਗਿਆਨ ਲੈ ਕੇ ਦੂਜੇ ਵਿੱਚ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
|
|
|
|
## ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਮਾਡਲ ਫੀਚਰ ਐਕਸਟ੍ਰੈਕਟਰ ਵਜੋਂ
|
|
|
|
ਪਿਛਲੇ ਸੈਕਸ਼ਨ ਵਿੱਚ ਜਿਨ੍ਹਾਂ ਕਨਵੋਲੂਸ਼ਨਲ ਨੈਟਵਰਕਸ ਦੀ ਗੱਲ ਕੀਤੀ ਗਈ ਸੀ, ਉਹ ਕਈ ਲੇਅਰਾਂ 'ਤੇ ਮੌਜੂਦ ਹੁੰਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਚਿੱਤਰ ਵਿੱਚੋਂ ਕੁਝ ਫੀਚਰ ਕੱਢਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੁੰਦਾ ਹੈ। ਇਹ ਲੇਅਰ ਨੀਵੀਂ ਪੱਧਰ ਦੀਆਂ ਪਿਕਸਲ ਕਾਮਬੀਨੇਸ਼ਨ (ਜਿਵੇਂ ਕਿ ਹੋਰਿਜ਼ਾਂਟਲ/ਵਰਟੀਕਲ ਲਾਈਨ ਜਾਂ ਸਟ੍ਰੋਕ) ਤੋਂ ਲੈ ਕੇ ਉੱਚ ਪੱਧਰ ਦੇ ਫੀਚਰਾਂ ਦੇ ਕਾਮਬੀਨੇਸ਼ਨ ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ, ਜੋ ਕਿ ਕਿਸੇ ਚੀਜ਼ (ਜਿਵੇਂ ਕਿ ਅੱਗ ਦੀਆਂ ਅੱਖਾਂ) ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ। ਜੇ ਅਸੀਂ CNN ਨੂੰ ਜਨਰਲ ਅਤੇ ਵੱਖ-ਵੱਖ ਚਿੱਤਰਾਂ ਦੇ ਕਾਫ਼ੀ ਵੱਡੇ ਡਾਟਾਸੈਟ 'ਤੇ ਟ੍ਰੇਨ ਕਰੀਏ, ਤਾਂ ਨੈਟਵਰਕ ਉਹ ਆਮ ਫੀਚਰ ਸਿੱਖ ਲਵੇਗਾ।
|
|
|
|
Keras ਅਤੇ PyTorch ਦੋਵੇਂ ਵਿੱਚ ਕੁਝ ਆਮ ਆਰਕੀਟੈਕਚਰਾਂ ਲਈ ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਨਿਊਰਲ ਨੈਟਵਰਕ ਵਜ਼ਨ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਲੋਡ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਜ਼ਿਆਦਾਤਰ ImageNet ਚਿੱਤਰਾਂ 'ਤੇ ਟ੍ਰੇਨ ਕੀਤੇ ਗਏ ਹਨ। ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਮਾਡਲ ਪਿਛਲੇ ਪਾਠ ਦੇ [CNN Architectures](../07-ConvNets/CNN_Architectures.md) ਪੰਨੇ 'ਤੇ ਵਰਣਨ ਕੀਤੇ ਗਏ ਹਨ। ਖਾਸ ਤੌਰ 'ਤੇ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਮਾਡਲਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਵਰਤਣ ਬਾਰੇ ਸੋਚ ਸਕਦੇ ਹੋ:
|
|
|
|
* **VGG-16/VGG-19** ਜੋ ਸਧਾਰਣ ਮਾਡਲ ਹਨ ਪਰ ਫਿਰ ਵੀ ਚੰਗੀ ਐਕੁਰੇਸੀ ਦਿੰਦੇ ਹਨ। ਅਕਸਰ VGG ਨੂੰ ਪਹਿਲੀ ਕੋਸ਼ਿਸ਼ ਵਜੋਂ ਵਰਤਣਾ ਚੰਗਾ ਚੋਣ ਹੁੰਦਾ ਹੈ ਇਹ ਵੇਖਣ ਲਈ ਕਿ ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਕਿਵੇਂ ਕੰਮ ਕਰ ਰਹੀ ਹੈ।
|
|
* **ResNet** ਮਾਈਕਰੋਸਾਫਟ ਰਿਸਰਚ ਦੁਆਰਾ 2015 ਵਿੱਚ ਪ੍ਰਸਤਾਵਿਤ ਮਾਡਲਾਂ ਦਾ ਪਰਿਵਾਰ ਹੈ। ਇਹਨਾਂ ਵਿੱਚ ਵੱਧ ਲੇਅਰ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਇਹ ਵੱਧ ਰਿਸੋਰਸ ਲੈਂਦੇ ਹਨ।
|
|
* **MobileNet** ਛੋਟੇ ਆਕਾਰ ਵਾਲੇ ਮਾਡਲਾਂ ਦਾ ਪਰਿਵਾਰ ਹੈ, ਜੋ ਮੋਬਾਈਲ ਡਿਵਾਈਸਾਂ ਲਈ ਉਚਿਤ ਹਨ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਰਿਸੋਰਸ ਘੱਟ ਹਨ ਅਤੇ ਤੁਸੀਂ ਕੁਝ ਐਕੁਰੇਸੀ ਕੁਰਬਾਨ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਇਹਨਾਂ ਨੂੰ ਵਰਤੋ।
|
|
|
|
ਇੱਥੇ VGG-16 ਨੈਟਵਰਕ ਦੁਆਰਾ ਇੱਕ ਬਿੱਲੀ ਦੀ ਤਸਵੀਰ ਵਿੱਚੋਂ ਕੱਢੇ ਗਏ ਫੀਚਰਾਂ ਦੇ ਨਮੂਨੇ ਹਨ:
|
|
|
|

|
|
|
|
## ਬਿੱਲੀਆਂ ਵਸ. ਕੁੱਤੇ ਡਾਟਾਸੈਟ
|
|
|
|
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ [ਬਿੱਲੀਆਂ ਅਤੇ ਕੁੱਤੇ](https://www.microsoft.com/download/details.aspx?id=54765&WT.mc_id=academic-77998-cacaste) ਡਾਟਾਸੈਟ ਦੀ ਵਰਤੋਂ ਕਰਾਂਗੇ, ਜੋ ਕਿ ਇੱਕ ਅਸਲ-ਜੀਵਨ ਚਿੱਤਰ ਕਲਾਸੀਫਿਕੇਸ਼ਨ ਸਥਿਤੀ ਦੇ ਬਹੁਤ ਨੇੜੇ ਹੈ।
|
|
|
|
## ✍️ ਅਭਿਆਸ: ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ
|
|
|
|
ਆਓ ਸੰਬੰਧਤ ਨੋਟਬੁੱਕਸ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲਤਾ ਵਿੱਚ ਦੇਖੀਏ:
|
|
|
|
* [ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ - PyTorch](../../../../../lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb)
|
|
* [ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ - TensorFlow](../../../../../lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb)
|
|
|
|
## ਵਿਜ਼ੁਅਲਾਈਜ਼ਿੰਗ ਐਡਵਰਸਰੀਅਲ ਬਿੱਲੀ
|
|
|
|
ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਨਿਊਰਲ ਨੈਟਵਰਕ ਦੇ *ਦਿਮਾਗ* ਵਿੱਚ ਵੱਖ-ਵੱਖ ਪੈਟਰਨ ਹੁੰਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ **ਆਦਰਸ਼ ਬਿੱਲੀ** (ਤੇ ਨਾਲ ਹੀ ਆਦਰਸ਼ ਕੁੱਤਾ, ਆਦਰਸ਼ ਜ਼ੀਬਰਾ, ਆਦਿ) ਦੇ ਧਾਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ। ਇਹ ਦਿਲਚਸਪ ਹੋਵੇਗਾ ਕਿ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਇਸ ਚਿੱਤਰ ਨੂੰ **ਦਿਖਾਇਆ ਜਾਵੇ**। ਹਾਲਾਂਕਿ, ਇਹ ਸੌਖਾ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਪੈਟਰਨ ਨੈਟਵਰਕ ਦੇ ਵਜ਼ਨਾਂ ਵਿੱਚ ਫੈਲੇ ਹੋਏ ਹਨ ਅਤੇ ਇੱਕ ਹਾਇਰਾਰਕੀਕਲ ਸਟ੍ਰਕਚਰ ਵਿੱਚ ਆਯੋਜਿਤ ਹਨ।
|
|
|
|
ਇੱਕ ਪਹੁੰਚ ਜੋ ਅਸੀਂ ਅਪਣਾਉ ਸਕਦੇ ਹਾਂ ਉਹ ਹੈ ਇੱਕ ਰੈਂਡਮ ਚਿੱਤਰ ਨਾਲ ਸ਼ੁਰੂ ਕਰਨਾ, ਅਤੇ ਫਿਰ **ਗ੍ਰੇਡੀਅੰਟ ਡਿਸੈਂਟ ਅਪਟੀਮਾਈਜ਼ੇਸ਼ਨ** ਤਕਨੀਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਸ ਚਿੱਤਰ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਸਹੀ ਕਰਨਾ ਕਿ ਨੈਟਵਰਕ ਸੋਚੇ ਕਿ ਇਹ ਬਿੱਲੀ ਹੈ।
|
|
|
|

|
|
|
|
ਹਾਲਾਂਕਿ, ਜੇ ਅਸੀਂ ਇਹ ਕਰਦੇ ਹਾਂ, ਤਾਂ ਸਾਨੂੰ ਕੁਝ ਰੈਂਡਮ ਸ਼ੋਰ ਵਰਗਾ ਮਿਲੇਗਾ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ *ਨੈਟਵਰਕ ਨੂੰ ਇਹ ਸੋਚਣ ਲਈ ਕਈ ਤਰੀਕੇ ਹਨ ਕਿ ਇਨਪੁਟ ਚਿੱਤਰ ਬਿੱਲੀ ਹੈ*, ਜਿਸ ਵਿੱਚ ਕੁਝ ਵਿਜ਼ੂਅਲ ਤੌਰ 'ਤੇ ਸਮਝਦਾਰ ਨਹੀਂ ਹੁੰਦੇ। ਜਦੋਂ ਕਿ ਉਹ ਚਿੱਤਰ ਬਿੱਲੀ ਲਈ ਆਮ ਪੈਟਰਨ ਸ਼ਾਮਲ ਕਰਦੇ ਹਨ, ਉਨ੍ਹਾਂ ਨੂੰ ਵਿਜ਼ੂਅਲ ਤੌਰ 'ਤੇ ਵੱਖਰਾ ਬਣਾਉਣ ਲਈ ਕੁਝ ਵੀ ਨਹੀਂ ਹੈ।
|
|
|
|
ਨਤੀਜੇ ਨੂੰ ਸੁਧਾਰਨ ਲਈ, ਅਸੀਂ ਲਾਸ ਫੰਕਸ਼ਨ ਵਿੱਚ ਇੱਕ ਹੋਰ ਟਰਮ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਸਨੂੰ **ਵੈਰੀਏਸ਼ਨ ਲਾਸ** ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਇੱਕ ਮੈਟ੍ਰਿਕ ਹੈ ਜੋ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਚਿੱਤਰ ਦੇ ਪਾਸ ਪਾਸ ਦੇ ਪਿਕਸਲ ਕਿੰਨੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਹਨ। ਵੈਰੀਏਸ਼ਨ ਲਾਸ ਨੂੰ ਘਟਾਉਣ ਨਾਲ ਚਿੱਤਰ ਹੌਲੀ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸ਼ੋਰ ਦੂਰ ਹੁੰਦਾ ਹੈ - ਇਸ ਤਰ੍ਹਾਂ ਹੋਰ ਵਿਜ਼ੂਅਲ ਤੌਰ 'ਤੇ ਆਕਰਸ਼ਕ ਪੈਟਰਨ ਸਾਹਮਣੇ ਆਉਂਦੇ ਹਨ। ਇੱਥੇ ਉਹ "ਆਦਰਸ਼" ਚਿੱਤਰਾਂ ਦੇ ਉਦਾਹਰਨ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਬਿੱਲੀ ਅਤੇ ਜ਼ੀਬਰਾ ਵਜੋਂ ਉੱਚ ਸੰਭਾਵਨਾ ਨਾਲ ਕਲਾਸੀਫਾਈ ਕੀਤਾ ਗਿਆ ਹੈ:
|
|
|
|
 | 
|
|
-----|-----
|
|
*ਆਦਰਸ਼ ਬਿੱਲੀ* | *ਆਦਰਸ਼ ਜ਼ੀਬਰਾ*
|
|
|
|
ਇਸੇ ਪਹੁੰਚ ਨੂੰ ਵਰਤ ਕੇ ਨਿਊਰਲ ਨੈਟਵਰਕ 'ਤੇ **ਐਡਵਰਸਰੀਅਲ ਅਟੈਕਸ** ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਮੰਨ ਲਵੋ ਕਿ ਅਸੀਂ ਨਿਊਰਲ ਨੈਟਵਰਕ ਨੂੰ ਧੋਖਾ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਅਤੇ ਇੱਕ ਕੁੱਤੇ ਨੂੰ ਬਿੱਲੀ ਵਜੋਂ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਜੇ ਅਸੀਂ ਕੁੱਤੇ ਦੀ ਤਸਵੀਰ ਲੈਂਦੇ ਹਾਂ, ਜਿਸਨੂੰ ਨੈਟਵਰਕ ਦੁਆਰਾ ਕੁੱਤੇ ਵਜੋਂ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਅਸੀਂ ਇਸਨੂੰ ਥੋੜ੍ਹਾ ਜਿਹਾ ਸਹੀ ਕਰ ਸਕਦੇ ਹਾਂ ਗ੍ਰੇਡੀਅੰਟ ਡਿਸੈਂਟ ਅਪਟੀਮਾਈਜ਼ੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਜਦ ਤੱਕ ਨੈਟਵਰਕ ਇਸਨੂੰ ਬਿੱਲੀ ਵਜੋਂ ਕਲਾਸੀਫਾਈ ਕਰਨਾ ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦਾ:
|
|
|
|
 | 
|
|
-----|-----
|
|
*ਕੁੱਤੇ ਦੀ ਮੂਲ ਤਸਵੀਰ* | *ਕੁੱਤੇ ਦੀ ਤਸਵੀਰ ਜੋ ਬਿੱਲੀ ਵਜੋਂ ਕਲਾਸੀਫਾਈ ਕੀਤੀ ਗਈ ਹੈ*
|
|
|
|
ਉਪਰੋਕਤ ਨਤੀਜਿਆਂ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਣ ਲਈ ਕੋਡ ਹੇਠਾਂ ਦਿੱਤੀ ਨੋਟਬੁੱਕ ਵਿੱਚ ਵੇਖੋ:
|
|
|
|
* [ਆਦਰਸ਼ ਅਤੇ ਐਡਵਰਸਰੀਅਲ ਬਿੱਲੀ - TensorFlow](../../../../../lessons/4-ComputerVision/08-TransferLearning/AdversarialCat_TF.ipynb)
|
|
|
|
## ਨਤੀਜਾ
|
|
|
|
ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਇੱਕ ਕਸਟਮ ਆਬਜੈਕਟ ਕਲਾਸੀਫਿਕੇਸ਼ਨ ਟਾਸਕ ਲਈ ਤੇਜ਼ੀ ਨਾਲ ਇੱਕ ਕਲਾਸੀਫਾਇਰ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਉੱਚ ਐਕੁਰੇਸੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ। ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਹੁਣ ਅਸੀਂ ਜਿਹੜੇ ਹੋਰ ਜਟਿਲ ਟਾਸਕ ਹੱਲ ਕਰ ਰਹੇ ਹਾਂ ਉਹ ਵੱਧ ਕੰਪਿਊਟੇਸ਼ਨਲ ਪਾਵਰ ਦੀ ਲੋੜ ਕਰਦੇ ਹਨ ਅਤੇ ਆਸਾਨੀ ਨਾਲ CPU 'ਤੇ ਹੱਲ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ। ਅਗਲੇ ਯੂਨਿਟ ਵਿੱਚ, ਅਸੀਂ ਘੱਟ ਕੰਪਿਊਟ ਰਿਸੋਰਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਹੀ ਮਾਡਲ ਟ੍ਰੇਨ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ ਹਲਕੀ ਵਰਜਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਾਂਗੇ, ਜਿਸ ਨਾਲ ਸਿਰਫ਼ ਥੋੜ੍ਹੀ ਘੱਟ ਐਕੁਰੇਸੀ ਮਿਲਦੀ ਹੈ।
|
|
|
|
## 🚀 ਚੈਲੈਂਜ
|
|
|
|
ਸਾਥੀ ਨੋਟਬੁੱਕਸ ਵਿੱਚ, ਟ੍ਰੇਨਿੰਗ ਡਾਟਾ ਦੇ ਕੁਝ ਹੱਦ ਤੱਕ ਸਮਾਨ ਹੋਣ ਨਾਲ ਟ੍ਰਾਂਸਫਰ ਗਿਆਨ ਕਿਵੇਂ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਸ ਬਾਰੇ ਨੋਟਸ ਹਨ (ਸ਼ਾਇਦ ਕਿਸੇ ਨਵੇਂ ਪ੍ਰਾਣੀ ਦੀ ਕਿਸਮ)। ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਵੇਂ ਕਿਸਮ ਦੇ ਚਿੱਤਰਾਂ ਨਾਲ ਕੁਝ ਪ੍ਰਯੋਗ ਕਰੋ ਇਹ ਵੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡੇ ਟ੍ਰਾਂਸਫਰ ਗਿਆਨ ਮਾਡਲ ਕਿੰਨਾ ਚੰਗਾ ਜਾਂ ਮਾੜਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੇ ਹਨ।
|
|
|
|
## [ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/208)
|
|
|
|
## ਸਮੀਖਿਆ ਅਤੇ ਸਵੈ ਅਧਿਐਨ
|
|
|
|
[TrainingTricks.md](TrainingTricks.md) ਨੂੰ ਪੜ੍ਹੋ ਤਾਂ ਜੋ ਆਪਣੇ ਮਾਡਲਾਂ ਨੂੰ ਟ੍ਰੇਨ ਕਰਨ ਦੇ ਹੋਰ ਤਰੀਕਿਆਂ ਬਾਰੇ ਆਪਣਾ ਗਿਆਨ ਵਧਾ ਸਕੋ।
|
|
|
|
## [ਅਸਾਈਨਮੈਂਟ](lab/README.md)
|
|
|
|
ਇਸ ਲੈਬ ਵਿੱਚ, ਅਸੀਂ ਅਸਲ-ਜੀਵਨ [Oxford-IIIT](https://www.robots.ox.ac.uk/~vgg/data/pets/) ਪੈਟਸ ਡਾਟਾਸੈਟ ਦੀ ਵਰਤੋਂ ਕਰਾਂਗੇ ਜਿਸ ਵਿੱਚ ਬਿੱਲੀਆਂ ਅਤੇ ਕੁੱਤਿਆਂ ਦੀਆਂ 35 ਬ੍ਰੀਡਾਂ ਹਨ, ਅਤੇ ਅਸੀਂ ਇੱਕ ਟ੍ਰਾਂਸਫਰ ਲਰਨਿੰਗ ਕਲਾਸੀਫਾਇਰ ਬਣਾਵਾਂਗੇ।
|
|
|
|
**ਅਸਵੀਕਰਤਾ**:
|
|
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੌਜੂਦ ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੇ ਪ੍ਰਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। |