PyTorch ਮਾਡਲ ਚੈਕਪੁਆਇੰਟਸ ਅਸਫਲ ਕਿਉਂ ਹਨ: ਲੋਡਿੰਗ ਗਲਤੀ ਵਿੱਚ ਇੱਕ ਡੂੰਘੀ ਡੁਬਕੀ
40 ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਮਾਡਲਾਂ ਤੋਂ ਵੱਧ ਪੂਰੇ ਮਹੀਨੇ ਦੀ ਸਿਖਲਾਈ ਦੀ ਕਲਪਨਾ ਕਰੋ, ਕੇਵਲ ਉਹਨਾਂ ਦੇ ਭਾਰ ਨੂੰ ਲੋਡ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗੁਪਤ ਗਲਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਲਈ: _pickle.UnpicklingError: ਅਵੈਧ ਲੋਡ ਕੁੰਜੀ, 'x1f'. 😩 ਜੇਕਰ ਤੁਸੀਂ PyTorch ਦੇ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਇਸ ਮੁੱਦੇ 'ਤੇ ਆਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਇਹ ਕਿੰਨਾ ਨਿਰਾਸ਼ਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ।
ਗਲਤੀ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਤੁਹਾਡੀ ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨਾਲ ਕੋਈ ਚੀਜ਼ ਬੰਦ ਹੁੰਦੀ ਹੈ, ਜਾਂ ਤਾਂ ਭ੍ਰਿਸ਼ਟਾਚਾਰ ਕਾਰਨ, ਇੱਕ ਅਸੰਗਤ ਫਾਰਮੈਟ, ਜਾਂ ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੇ ਤਰੀਕੇ ਕਾਰਨ। ਇੱਕ ਡਿਵੈਲਪਰ ਜਾਂ ਡੇਟਾ ਸਾਇੰਟਿਸਟ ਹੋਣ ਦੇ ਨਾਤੇ, ਅਜਿਹੀਆਂ ਤਕਨੀਕੀ ਗੜਬੜੀਆਂ ਨਾਲ ਨਜਿੱਠਣਾ ਇੱਕ ਕੰਧ ਨਾਲ ਟਕਰਾਉਣ ਵਰਗਾ ਮਹਿਸੂਸ ਕਰ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਤਰੱਕੀ ਕਰਨ ਜਾ ਰਹੇ ਹੋ।
ਪਿਛਲੇ ਮਹੀਨੇ ਹੀ, ਮੈਨੂੰ ਮੇਰੇ ਪਾਈਟੋਰਚ ਮਾਡਲਾਂ ਨੂੰ ਬਹਾਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋਏ ਇੱਕ ਸਮਾਨ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ। ਇਸ ਗੱਲ ਦਾ ਕੋਈ ਫ਼ਰਕ ਨਹੀਂ ਪੈਂਦਾ ਕਿ ਮੈਂ ਪਾਈਟੋਰਚ ਦੇ ਕਿੰਨੇ ਸੰਸਕਰਣਾਂ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਮੈਂ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ, ਵਜ਼ਨ ਸਿਰਫ਼ ਲੋਡ ਨਹੀਂ ਹੋਵੇਗਾ। ਇੱਕ ਬਿੰਦੂ 'ਤੇ, ਮੈਂ ਫਾਈਲ ਨੂੰ ਜ਼ਿਪ ਆਰਕਾਈਵ ਵਜੋਂ ਖੋਲ੍ਹਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਵੀ ਕੀਤੀ, ਇਸਦੀ ਦਸਤੀ ਜਾਂਚ ਕਰਨ ਦੀ ਉਮੀਦ ਵਿੱਚ - ਬਦਕਿਸਮਤੀ ਨਾਲ, ਗਲਤੀ ਜਾਰੀ ਰਹੀ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇਸ ਗਲਤੀ ਦਾ ਕੀ ਮਤਲਬ ਹੈ, ਇਹ ਕਿਉਂ ਵਾਪਰਦਾ ਹੈ, ਅਤੇ—ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ—ਤੁਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰ ਸਕਦੇ ਹੋ, ਇਸ ਬਾਰੇ ਦੱਸਾਂਗੇ। ਭਾਵੇਂ ਤੁਸੀਂ ਇੱਕ ਸ਼ੁਰੂਆਤੀ ਹੋ ਜਾਂ ਇੱਕ ਤਜਰਬੇਕਾਰ ਪ੍ਰੋ, ਅੰਤ ਤੱਕ, ਤੁਸੀਂ ਆਪਣੇ PyTorch ਮਾਡਲਾਂ ਨਾਲ ਟਰੈਕ 'ਤੇ ਵਾਪਸ ਆ ਜਾਓਗੇ। ਆਓ ਅੰਦਰ ਡੁਬਕੀ ਕਰੀਏ! 🚀
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
zipfile.is_zipfile() | ਇਹ ਕਮਾਂਡ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਦਿੱਤੀ ਗਈ ਫਾਈਲ ਇੱਕ ਵੈਧ ZIP ਆਰਕਾਈਵ ਹੈ ਜਾਂ ਨਹੀਂ। ਇਸ ਸਕ੍ਰਿਪਟ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਨਿਕਾਰਾ ਮਾਡਲ ਫਾਈਲ ਅਸਲ ਵਿੱਚ ਪਾਈਟੋਰਚ ਚੈਕਪੁਆਇੰਟ ਦੀ ਬਜਾਏ ਇੱਕ ਜ਼ਿਪ ਫਾਈਲ ਹੋ ਸਕਦੀ ਹੈ. |
zipfile.ZipFile() | ਜ਼ਿਪ ਆਰਕਾਈਵ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਹ ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਗਲਤ-ਸੁਰੱਖਿਅਤ ਮਾਡਲ ਫਾਈਲਾਂ ਨੂੰ ਖੋਲ੍ਹਣ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
io.BytesIO() | ਬਾਈਨਰੀ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਇਨ-ਮੈਮੋਰੀ ਬਾਈਨਰੀ ਸਟ੍ਰੀਮ ਬਣਾਉਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਜ਼ਿਪ ਆਰਕਾਈਵਜ਼ ਤੋਂ ਪੜ੍ਹੀ ਗਈ ਫਾਈਲ ਸਮੱਗਰੀ, ਡਿਸਕ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਬਿਨਾਂ। |
torch.load(map_location=...) | ਇੱਕ PyTorch ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਲੋਡ ਕਰਦਾ ਹੈ ਜਦੋਂ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਖਾਸ ਡਿਵਾਈਸ, ਜਿਵੇਂ ਕਿ CPU ਜਾਂ GPU ਲਈ ਟੈਂਸਰਾਂ ਨੂੰ ਰੀਮੈਪ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
torch.save() | ਇੱਕ PyTorch ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨੂੰ ਇੱਕ ਸਹੀ ਫਾਰਮੈਟ ਵਿੱਚ ਮੁੜ-ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ। ਇਹ ਖਰਾਬ ਜਾਂ ਗਲਤ ਫਾਰਮੈਟ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
unittest.TestCase | ਪਾਈਥਨ ਦੇ ਬਿਲਟ-ਇਨ ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਦਾ ਹਿੱਸਾ, ਇਹ ਕਲਾਸ ਕੋਡ ਕਾਰਜਕੁਸ਼ਲਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਅਤੇ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। |
self.assertTrue() | ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਯੂਨਿਟ ਟੈਸਟ ਦੇ ਅੰਦਰ ਇੱਕ ਸ਼ਰਤ ਸਹੀ ਹੈ। ਇੱਥੇ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਚੈਕਪੁਆਇੰਟ ਬਿਨਾਂ ਕਿਸੇ ਤਰੁੱਟੀ ਦੇ ਸਫਲਤਾਪੂਰਵਕ ਲੋਡ ਹੁੰਦਾ ਹੈ। |
timm.create_model() | ਲਈ ਖਾਸ timm ਲਾਇਬ੍ਰੇਰੀ, ਇਹ ਫੰਕਸ਼ਨ ਪਹਿਲਾਂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਮਾਡਲ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ 'Legacy_xception' ਮਾਡਲ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
map_location=device | torch.load() ਦਾ ਇੱਕ ਪੈਰਾਮੀਟਰ ਜੋ ਡਿਵਾਈਸ (CPU/GPU) ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਲੋਡ ਕੀਤੇ ਟੈਂਸਰ ਨਿਰਧਾਰਤ ਕੀਤੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ, ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ। |
with archive.open(file) | ਜ਼ਿਪ ਆਰਕਾਈਵ ਦੇ ਅੰਦਰ ਇੱਕ ਖਾਸ ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਜ਼ਿਪ ਢਾਂਚਿਆਂ ਦੇ ਅੰਦਰ ਗਲਤ ਢੰਗ ਨਾਲ ਸਟੋਰ ਕੀਤੇ ਮਾਡਲ ਵੇਟ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
PyTorch ਚੈੱਕਪੁਆਇੰਟ ਲੋਡਿੰਗ ਗਲਤੀਆਂ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਠੀਕ ਕਰਨਾ
ਖੌਫਨਾਕ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਸਮੇਂ _pickle.UnpicklingError: ਅਵੈਧ ਲੋਡ ਕੁੰਜੀ, 'x1f', ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਜਾਂ ਤਾਂ ਖਰਾਬ ਹੋ ਗਈ ਹੈ ਜਾਂ ਅਚਾਨਕ ਫਾਰਮੈਟ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਗਈ ਸੀ। ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ, ਮੁੱਖ ਵਿਚਾਰ ਅਜਿਹੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਸਮਾਰਟ ਰਿਕਵਰੀ ਤਕਨੀਕਾਂ ਨਾਲ ਹੈਂਡਲ ਕਰਨਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜਾਂਚ ਕਰਨਾ ਕਿ ਕੀ ਫਾਈਲ ਇੱਕ ZIP ਆਰਕਾਈਵ ਹੈ zipfile ਮੋਡੀਊਲ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲਾ ਕਦਮ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਅਸੀਂ ਅੰਨ੍ਹੇਵਾਹ ਇਸ ਨਾਲ ਇੱਕ ਅਵੈਧ ਫਾਈਲ ਲੋਡ ਨਹੀਂ ਕਰ ਰਹੇ ਹਾਂ torch.load(). ਵਰਗੇ ਸਾਧਨਾਂ ਦਾ ਲਾਭ ਉਠਾ ਕੇ zipfile.ZipFile ਅਤੇ io.BytesIO, ਅਸੀਂ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਫਾਈਲ ਦੀ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹਾਂ। ਆਪਣੇ ਮਾਡਲਾਂ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਲਈ ਹਫ਼ਤੇ ਬਿਤਾਉਣ ਦੀ ਕਲਪਨਾ ਕਰੋ, ਅਤੇ ਇੱਕ ਦੂਸ਼ਿਤ ਚੈਕਪੁਆਇੰਟ ਸਭ ਕੁਝ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ — ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਵਰਗੇ ਭਰੋਸੇਯੋਗ ਰਿਕਵਰੀ ਵਿਕਲਪਾਂ ਦੀ ਲੋੜ ਹੈ!
ਦੂਜੀ ਸਕਰਿਪਟ ਵਿੱਚ, ਫੋਕਸ 'ਤੇ ਹੈ ਚੈੱਕਪੁਆਇੰਟ ਨੂੰ ਮੁੜ-ਬਚਾਉਣਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਕਿ ਇਹ ਸਹੀ ਤਰ੍ਹਾਂ ਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ। ਜੇਕਰ ਅਸਲ ਫ਼ਾਈਲ ਵਿੱਚ ਮਾਮੂਲੀ ਸਮੱਸਿਆਵਾਂ ਹਨ ਪਰ ਅਜੇ ਵੀ ਅੰਸ਼ਕ ਤੌਰ 'ਤੇ ਵਰਤੋਂ ਯੋਗ ਹੈ, ਤਾਂ ਅਸੀਂ ਵਰਤਦੇ ਹਾਂ torch.save() ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਅਤੇ ਮੁੜ-ਫਾਰਮੈਟ ਕਰਨ ਲਈ। ਉਦਾਹਰਨ ਲਈ, ਮੰਨ ਲਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਨਾਮ ਦੀ ਇੱਕ ਖਰਾਬ ਚੈਕਪੁਆਇੰਟ ਫਾਈਲ ਹੈ CDF2_0.pth. ਰੀਲੋਡ ਕਰਕੇ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਨਵੀਂ ਫਾਈਲ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕਰਕੇ ਜਿਵੇਂ ਕਿ fixed_CDF2_0.pth, ਤੁਸੀਂ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋ ਕਿ ਇਹ ਸਹੀ PyTorch ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਫਾਰਮੈਟ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਇਹ ਸਧਾਰਨ ਤਕਨੀਕ ਉਹਨਾਂ ਮਾਡਲਾਂ ਲਈ ਜੀਵਨ ਬਚਾਉਣ ਵਾਲੀ ਹੈ ਜੋ ਪੁਰਾਣੇ ਫਰੇਮਵਰਕ ਜਾਂ ਵਾਤਾਵਰਣ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਗਏ ਸਨ, ਉਹਨਾਂ ਨੂੰ ਮੁੜ ਸਿਖਲਾਈ ਦਿੱਤੇ ਬਿਨਾਂ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਕ ਯੂਨਿਟ ਟੈਸਟ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਾਡੇ ਹੱਲ ਹਨ ਭਰੋਸੇਯੋਗ ਅਤੇ ਲਗਾਤਾਰ ਕੰਮ ਕਰੋ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਯੂਨਿਟ ਟੈਸਟ ਮੋਡੀਊਲ, ਅਸੀਂ ਚੈੱਕਪੁਆਇੰਟ ਲੋਡਿੰਗ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰ ਸਕਦੇ ਹਾਂ, ਜੋ ਕਿ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਕਈ ਮਾਡਲ ਹਨ। ਮੈਨੂੰ ਇੱਕ ਵਾਰ ਇੱਕ ਖੋਜ ਪ੍ਰੋਜੈਕਟ ਤੋਂ 20 ਤੋਂ ਵੱਧ ਮਾਡਲਾਂ ਨਾਲ ਨਜਿੱਠਣਾ ਪਿਆ ਸੀ, ਅਤੇ ਹਰ ਇੱਕ ਨੂੰ ਹੱਥੀਂ ਟੈਸਟ ਕਰਨ ਵਿੱਚ ਦਿਨ ਲੱਗ ਜਾਣਗੇ। ਯੂਨਿਟ ਟੈਸਟਾਂ ਦੇ ਨਾਲ, ਇੱਕ ਸਿੰਗਲ ਸਕ੍ਰਿਪਟ ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਮਿੰਟਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦੀ ਹੈ! ਇਹ ਆਟੋਮੇਸ਼ਨ ਨਾ ਸਿਰਫ ਸਮੇਂ ਦੀ ਬਚਤ ਕਰਦੀ ਹੈ ਬਲਕਿ ਗਲਤੀਆਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਤੋਂ ਵੀ ਰੋਕਦੀ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਸਕ੍ਰਿਪਟ ਦਾ ਢਾਂਚਾ ਸਾਰੇ ਡਿਵਾਈਸਾਂ (CPU ਅਤੇ GPU) ਦੇ ਨਾਲ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਨਕਸ਼ਾ_ਟਿਕਾਣਾ ਦਲੀਲ ਇਹ ਇਸਨੂੰ ਵਿਭਿੰਨ ਵਾਤਾਵਰਣਾਂ ਲਈ ਸੰਪੂਰਨ ਬਣਾਉਂਦਾ ਹੈ, ਭਾਵੇਂ ਤੁਸੀਂ ਮਾਡਲਾਂ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾ ਰਹੇ ਹੋ ਜਾਂ ਕਲਾਉਡ ਸਰਵਰ 'ਤੇ। ਇਸਦੀ ਤਸਵੀਰ ਬਣਾਓ: ਤੁਸੀਂ ਆਪਣੇ ਮਾਡਲ ਨੂੰ ਇੱਕ GPU 'ਤੇ ਸਿਖਲਾਈ ਦਿੱਤੀ ਹੈ ਪਰ ਇਸਨੂੰ ਇੱਕ CPU-ਸਿਰਫ਼ ਮਸ਼ੀਨ 'ਤੇ ਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਦੇ ਬਿਨਾਂ ਨਕਸ਼ਾ_ਟਿਕਾਣਾ ਪੈਰਾਮੀਟਰ, ਤੁਹਾਨੂੰ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ ਗਲਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਵੇਗਾ। ਸਹੀ ਯੰਤਰ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਕੇ, ਸਕ੍ਰਿਪਟ ਇਹਨਾਂ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਸਹਿਜੇ ਹੀ ਹੈਂਡਲ ਕਰਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਤੁਹਾਡੇ ਮਿਹਨਤ ਨਾਲ ਕਮਾਏ ਮਾਡਲ ਹਰ ਥਾਂ ਕੰਮ ਕਰਦੇ ਹਨ। 😊
PyTorch ਮਾਡਲ ਚੈੱਕਪੁਆਇੰਟ ਗਲਤੀ ਨੂੰ ਹੱਲ ਕਰਨਾ: ਅਵੈਧ ਲੋਡ ਕੁੰਜੀ
ਸਹੀ ਫਾਈਲ ਹੈਂਡਲਿੰਗ ਅਤੇ ਮਾਡਲ ਲੋਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪਾਈਥਨ ਬੈਕਐਂਡ ਹੱਲ
import os
import torch
import numpy as np
import timm
import zipfile
import io
# Device setup
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print('Device being used:', device)
# Correct method to load a corrupted or zipped model checkpoint
mname = os.path.join('./CDF2_0.pth')
try:
# Attempt to open as a zip if initial loading fails
if zipfile.is_zipfile(mname):
with zipfile.ZipFile(mname) as archive:
for file in archive.namelist():
with archive.open(file) as f:
buffer = io.BytesIO(f.read())
checkpoints = torch.load(buffer, map_location=device)
else:
checkpoints = torch.load(mname, map_location=device)
print("Checkpoint loaded successfully.")
except Exception as e:
print("Error loading the checkpoint file:", e)
# Model creation and state_dict loading
model = timm.create_model('legacy_xception', pretrained=True, num_classes=2).to(device)
if 'state_dict' in checkpoints:
model.load_state_dict(checkpoints['state_dict'])
else:
model.load_state_dict(checkpoints)
model.eval()
print("Model loaded and ready for inference.")
ਵਿਕਲਪਕ ਹੱਲ: ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨੂੰ ਮੁੜ-ਸੁਰੱਖਿਅਤ ਕਰਨਾ
ਖਰਾਬ ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਪਾਈਥਨ-ਅਧਾਰਿਤ ਹੱਲ
import os
import torch
# Device setup
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print('Device being used:', device)
# Original and corrected file paths
original_file = './CDF2_0.pth'
corrected_file = './fixed_CDF2_0.pth'
try:
# Load and re-save the checkpoint
checkpoints = torch.load(original_file, map_location=device)
torch.save(checkpoints, corrected_file)
print("Checkpoint file re-saved successfully.")
except Exception as e:
print("Failed to fix checkpoint file:", e)
# Verify loading from the corrected file
checkpoints_fixed = torch.load(corrected_file, map_location=device)
print("Verified: Corrected checkpoint loaded.")
ਦੋਵਾਂ ਹੱਲਾਂ ਲਈ ਯੂਨਿਟ ਟੈਸਟ
ਚੈੱਕਪੁਆਇੰਟ ਲੋਡਿੰਗ ਅਤੇ ਮਾਡਲ ਸਟੇਟ_ਡਿਕਟ ਇਕਸਾਰਤਾ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ
import torch
import unittest
import os
import timm
class TestCheckpointLoading(unittest.TestCase):
def setUp(self):
self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
self.model_path = './fixed_CDF2_0.pth'
self.model = timm.create_model('legacy_xception', pretrained=True, num_classes=2).to(self.device)
def test_checkpoint_loading(self):
try:
checkpoints = torch.load(self.model_path, map_location=self.device)
if 'state_dict' in checkpoints:
self.model.load_state_dict(checkpoints['state_dict'])
else:
self.model.load_state_dict(checkpoints)
self.model.eval()
self.assertTrue(True)
print("Checkpoint loaded successfully in unit test.")
except Exception as e:
self.fail(f"Checkpoint loading failed with error: {e}")
if __name__ == '__main__':
unittest.main()
ਇਹ ਸਮਝਣਾ ਕਿ ਪਾਈਟੋਰਚ ਚੈੱਕਪੁਆਇੰਟ ਕਿਉਂ ਅਸਫਲ ਹੁੰਦੇ ਹਨ ਅਤੇ ਇਸਨੂੰ ਕਿਵੇਂ ਰੋਕਿਆ ਜਾਵੇ
ਦਾ ਇੱਕ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਾਰਨ _pickle.Unpickling Error ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਇੱਕ PyTorch ਚੈੱਕਪੁਆਇੰਟ ਇੱਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪਰ ਇੱਕ ਨਵੇਂ ਸੰਸਕਰਣ ਨਾਲ ਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਾਂ ਇਸਦੇ ਉਲਟ। PyTorch ਅੱਪਡੇਟ ਕਈ ਵਾਰ ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਡੀਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਬਦਲਾਅ ਪੇਸ਼ ਕਰਦੇ ਹਨ। ਇਹ ਤਬਦੀਲੀਆਂ ਪੁਰਾਣੇ ਮਾਡਲਾਂ ਨੂੰ ਅਸੰਗਤ ਬਣਾ ਸਕਦੀਆਂ ਹਨ, ਜਿਸ ਨਾਲ ਉਹਨਾਂ ਨੂੰ ਮੁੜ ਬਹਾਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵੇਲੇ ਤਰੁੱਟੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਉਦਾਹਰਨ ਲਈ, PyTorch 1.6 ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਇੱਕ ਚੈਕਪੁਆਇੰਟ PyTorch 2.0 ਵਿੱਚ ਲੋਡਿੰਗ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ।
ਇਕ ਹੋਰ ਨਾਜ਼ੁਕ ਪਹਿਲੂ ਇਹ ਯਕੀਨੀ ਬਣਾ ਰਿਹਾ ਹੈ ਕਿ ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਗਈ ਸੀ torch.save() ਇੱਕ ਸਹੀ ਸਟੇਟ ਡਿਕਸ਼ਨਰੀ ਦੇ ਨਾਲ। ਜੇਕਰ ਕਿਸੇ ਨੇ ਗਲਤੀ ਨਾਲ ਇੱਕ ਗੈਰ-ਮਿਆਰੀ ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਮਾਡਲ ਜਾਂ ਵਜ਼ਨ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇਸਦੇ ਬਜਾਏ ਇੱਕ ਸਿੱਧੀ ਵਸਤੂ state_dict, ਇਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਤੋਂ ਬਚਣ ਲਈ, ਹਮੇਸ਼ਾਂ ਸਿਰਫ ਨੂੰ ਬਚਾਉਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ਹੈ state_dict ਅਤੇ ਉਸ ਅਨੁਸਾਰ ਵਜ਼ਨ ਮੁੜ ਲੋਡ ਕਰੋ। ਇਹ ਚੈਕਪੁਆਇੰਟ ਫਾਈਲ ਨੂੰ ਹਲਕਾ, ਪੋਰਟੇਬਲ, ਅਤੇ ਅਨੁਕੂਲਤਾ ਮੁੱਦਿਆਂ ਲਈ ਘੱਟ ਸੰਭਾਵਿਤ ਰੱਖਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਸਿਸਟਮ-ਵਿਸ਼ੇਸ਼ ਕਾਰਕ, ਜਿਵੇਂ ਕਿ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਜਾਂ ਵਰਤੇ ਗਏ ਹਾਰਡਵੇਅਰ, ਚੈੱਕਪੁਆਇੰਟ ਲੋਡਿੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, GPU ਟੈਂਸਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਲੀਨਕਸ ਮਸ਼ੀਨ 'ਤੇ ਸੇਵ ਕੀਤਾ ਮਾਡਲ ਇੱਕ CPU ਨਾਲ ਵਿੰਡੋਜ਼ ਮਸ਼ੀਨ 'ਤੇ ਲੋਡ ਹੋਣ 'ਤੇ ਵਿਵਾਦ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ map_location ਪੈਰਾਮੀਟਰ, ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਟੈਂਸਰਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੀਮੈਪ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਕਈ ਵਾਤਾਵਰਣਾਂ 'ਤੇ ਕੰਮ ਕਰਨ ਵਾਲੇ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਆਖਰੀ-ਮਿੰਟ ਦੇ ਹੈਰਾਨੀ ਤੋਂ ਬਚਣ ਲਈ ਹਮੇਸ਼ਾ ਵੱਖ-ਵੱਖ ਸੈੱਟਅੱਪਾਂ 'ਤੇ ਚੈਕਪੁਆਇੰਟਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। 😅
PyTorch Checkpoint ਲੋਡਿੰਗ ਮੁੱਦਿਆਂ 'ਤੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
- ਮੈਂ ਕਿਉਂ ਪ੍ਰਾਪਤ ਕਰ ਰਿਹਾ ਹਾਂ _pickle.UnpicklingError ਮੇਰਾ PyTorch ਮਾਡਲ ਲੋਡ ਕਰਨ ਵੇਲੇ?
- ਇਹ ਗਲਤੀ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਅਸੰਗਤ ਜਾਂ ਖਰਾਬ ਚੈਕਪੁਆਇੰਟ ਫਾਈਲ ਦੇ ਕਾਰਨ ਹੁੰਦੀ ਹੈ। ਇਹ ਉਦੋਂ ਵੀ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਲੋਡ ਕਰਨ ਦੇ ਵਿਚਕਾਰ ਵੱਖ-ਵੱਖ PyTorch ਸੰਸਕਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਮੈਂ ਇੱਕ ਖਰਾਬ ਪਾਈਟੋਰਚ ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰਾਂ?
- ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ zipfile.ZipFile() ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ ਫਾਈਲ ਇੱਕ ਜ਼ਿਪ ਆਰਕਾਈਵ ਹੈ ਜਾਂ ਇਸ ਨਾਲ ਚੈੱਕਪੁਆਇੰਟ ਨੂੰ ਦੁਬਾਰਾ ਸੁਰੱਖਿਅਤ ਕਰੋ torch.save() ਇਸ ਦੀ ਮੁਰੰਮਤ ਕਰਨ ਤੋਂ ਬਾਅਦ.
- ਦੀ ਭੂਮਿਕਾ ਕੀ ਹੈ state_dict PyTorch ਵਿੱਚ?
- ਦ state_dict ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਮਾਡਲ ਦੇ ਵਜ਼ਨ ਅਤੇ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। ਹਮੇਸ਼ਾ ਸੇਵ ਕਰੋ ਅਤੇ ਲੋਡ ਕਰੋ state_dict ਬਿਹਤਰ ਪੋਰਟੇਬਿਲਟੀ ਲਈ।
- ਮੈਂ CPU 'ਤੇ PyTorch ਚੈੱਕਪੁਆਇੰਟ ਕਿਵੇਂ ਲੋਡ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰੋ map_location='cpu' ਵਿਚ ਦਲੀਲ torch.load() GPU ਤੋਂ CPU ਤੱਕ ਟੈਂਸਰਾਂ ਨੂੰ ਰੀਮੈਪ ਕਰਨ ਲਈ।
- ਕੀ PyTorch ਚੈਕਪੁਆਇੰਟ ਸੰਸਕਰਣ ਵਿਵਾਦਾਂ ਦੇ ਕਾਰਨ ਅਸਫਲ ਹੋ ਸਕਦੇ ਹਨ?
- ਹਾਂ, ਪੁਰਾਣੇ ਚੈਕਪੁਆਇੰਟ PyTorch ਦੇ ਨਵੇਂ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕਦੇ ਹਨ। ਸੇਵ ਅਤੇ ਲੋਡ ਕਰਨ ਵੇਲੇ ਇਕਸਾਰ PyTorch ਸੰਸਕਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਮੈਂ ਕਿਵੇਂ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ ਕੀ ਇੱਕ PyTorch ਚੈੱਕਪੁਆਇੰਟ ਫਾਈਲ ਨਿਕਾਰਾ ਹੈ?
- ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫਾਈਲ ਨੂੰ ਲੋਡ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ torch.load(). ਜੇ ਇਹ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਜਿਵੇਂ ਟੂਲਸ ਨਾਲ ਫਾਈਲ ਦੀ ਜਾਂਚ ਕਰੋ zipfile.is_zipfile().
- PyTorch ਮਾਡਲਾਂ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਲੋਡ ਕਰਨ ਦਾ ਸਹੀ ਤਰੀਕਾ ਕੀ ਹੈ?
- ਹਮੇਸ਼ਾ ਵਰਤ ਕੇ ਸੰਭਾਲੋ torch.save(model.state_dict()) ਅਤੇ ਵਰਤ ਕੇ ਲੋਡ model.load_state_dict().
- ਮੇਰਾ ਮਾਡਲ ਕਿਸੇ ਵੱਖਰੀ ਡਿਵਾਈਸ 'ਤੇ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਕਿਉਂ ਹੁੰਦਾ ਹੈ?
- ਇਹ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਟੈਂਸਰਾਂ ਨੂੰ GPU ਲਈ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਪਰ ਇੱਕ CPU 'ਤੇ ਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਵਰਤੋ map_location ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ.
- ਮੈਂ ਵਾਤਾਵਰਣ ਵਿੱਚ ਚੈਕਪੁਆਇੰਟਾਂ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਯੂਨਿਟ ਟੈਸਟ ਲਿਖੋ unittest ਵੱਖ-ਵੱਖ ਸੈੱਟਅੱਪਾਂ (CPU, GPU, OS) 'ਤੇ ਮਾਡਲ ਲੋਡਿੰਗ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ।
- ਕੀ ਮੈਂ ਚੈਕਪੁਆਇੰਟ ਫਾਈਲਾਂ ਦੀ ਦਸਤੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਤੁਸੀਂ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ .zip ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ ਅਤੇ ਇਸਨੂੰ ਇਸ ਨਾਲ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ zipfile ਜਾਂ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਪੁਰਾਲੇਖ ਪ੍ਰਬੰਧਕ।
PyTorch ਮਾਡਲ ਲੋਡ ਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਦੂਰ ਕਰਨਾ
PyTorch ਚੈਕਪੁਆਇੰਟ ਲੋਡ ਕਰਨ ਨਾਲ ਕਈ ਵਾਰ ਖਰਾਬ ਫਾਈਲਾਂ ਜਾਂ ਸੰਸਕਰਣ ਬੇਮੇਲ ਹੋਣ ਕਾਰਨ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਫਾਈਲ ਫਾਰਮੈਟ ਦੀ ਤਸਦੀਕ ਕਰਕੇ ਅਤੇ ਸਹੀ ਸਾਧਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ zipfile ਜਾਂ ਰੀਮੈਪਿੰਗ ਟੈਂਸਰ, ਤੁਸੀਂ ਆਪਣੇ ਸਿਖਲਾਈ ਪ੍ਰਾਪਤ ਮਾਡਲਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਮੁੜ-ਸਿਖਲਾਈ ਦੇ ਘੰਟੇ ਬਚਾ ਸਕਦੇ ਹੋ।
ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਸਰਵੋਤਮ ਅਭਿਆਸਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਸੇਵਿੰਗ state_dict ਸਿਰਫ਼ ਅਤੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਮਾਡਲਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ। ਯਾਦ ਰੱਖੋ, ਇਹਨਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਸੁਲਝਾਉਣ ਵਿੱਚ ਬਿਤਾਇਆ ਸਮਾਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਮਾਡਲ ਕਾਰਜਸ਼ੀਲ, ਪੋਰਟੇਬਲ, ਅਤੇ ਕਿਸੇ ਵੀ ਤੈਨਾਤੀ ਪ੍ਰਣਾਲੀ ਦੇ ਅਨੁਕੂਲ ਬਣੇ ਰਹਿਣ। 🚀
PyTorch ਲੋਡਿੰਗ ਗਲਤੀ ਹੱਲ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਦੀ ਵਿਸਤ੍ਰਿਤ ਵਿਆਖਿਆ torch.load() ਅਤੇ PyTorch ਵਿੱਚ ਚੈਕਪੁਆਇੰਟ ਹੈਂਡਲਿੰਗ। ਸਰੋਤ: ਪਾਈਟੋਰਚ ਦਸਤਾਵੇਜ਼
- ਵਿੱਚ ਸੂਝ ਅਚਾਰ ਗਲਤੀ ਅਤੇ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਫਾਇਲ ਭ੍ਰਿਸ਼ਟਾਚਾਰ. ਸਰੋਤ: ਪਾਈਥਨ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼
- ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜ਼ਿਪ ਫਾਈਲਾਂ ਨੂੰ ਸੰਭਾਲਣਾ ਅਤੇ ਪੁਰਾਲੇਖਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ zipfile ਲਾਇਬ੍ਰੇਰੀ. ਸਰੋਤ: ਪਾਈਥਨ ਜ਼ਿਪਫਾਈਲ ਲਾਇਬ੍ਰੇਰੀ
- ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਗਾਈਡ timm ਪ੍ਰੀ-ਟ੍ਰੇਂਡ ਮਾਡਲ ਬਣਾਉਣ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਲਾਇਬ੍ਰੇਰੀ। ਸਰੋਤ: timm GitHub ਰਿਪੋਜ਼ਟਰੀ