ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਟੈਂਸਰਫਲੋ ਟਿਊਟੋਰਿਅਲ
ਟੈਂਸਰਫਲੋ ਡੂੰਘੀ ਸਿਖਲਾਈ ਅਤੇ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਲਈ ਸਭ ਤੋਂ ਪ੍ਰਸਿੱਧ ਫਰੇਮਵਰਕ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਗੂਗਲ ਬ੍ਰੇਨ ਟੀਮ ਦੁਆਰਾ ਵਿਕਸਤ, ਟੈਂਸਰਫਲੋ ਨੂੰ ਕਈ ਖੋਜ ਪ੍ਰੋਜੈਕਟਾਂ ਅਤੇ ਉਦਯੋਗਿਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਇਹ ਲੇਖ ਤੁਹਾਨੂੰ ਇੱਕ ਸ਼ੁਰੂਆਤੀ ਵਜੋਂ, ਟੈਂਸਰਫਲੋ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਇੱਕ ਕਦਮ-ਦਰ-ਕਦਮ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
1. ਟੈਂਸਰਫਲੋ ਦੀਆਂ ਮੂਲ ਗੱਲਾਂ ਨੂੰ ਸਮਝਣਾ
ਟੈਂਸਰਫਲੋ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਅਤੇ ਵਰਤਣਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਟੈਂਸਰਫਲੋ ਕੀ ਹੈ ਅਤੇ ਇਸਦੇ ਪਿੱਛੇ ਕੀ ਬੁਨਿਆਦੀ ਸੰਕਲਪ ਹਨ। ਟੈਂਸਰਫਲੋ ਸੰਖਿਆਤਮਕ ਗਣਨਾ ਅਤੇ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਲਈ ਇੱਕ ਓਪਨ-ਸੋਰਸ ਫਰੇਮਵਰਕ ਹੈ। ਇਹ ਸੰਖਿਆਤਮਕ ਕਾਰਜ ਕਰਨ ਲਈ ਡੇਟਾ ਫਲੋ ਗ੍ਰਾਫਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਗ੍ਰਾਫ ਵਿੱਚ ਨੋਡ ਗਣਿਤਿਕ ਕਾਰਜਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ, ਅਤੇ ਕਿਨਾਰੇ ਉਹਨਾਂ ਵਿਚਕਾਰ ਜੁੜੇ ਬਹੁ-ਆਯਾਮੀ ਡੇਟਾ ਐਰੇ (ਟੈਂਸਰ) ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
2. ਟੈਂਸਰਫਲੋ ਇੰਸਟਾਲੇਸ਼ਨ
TensorFlow ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਪਹਿਲਾ ਕਦਮ ਇਸਨੂੰ ਇੰਸਟਾਲ ਕਰਨਾ ਹੈ। ਇੱਥੇ Python ਪੈਕੇਜ ਮੈਨੇਜਰ, pip ਦੀ ਵਰਤੋਂ ਕਰਕੇ TensorFlow ਨੂੰ ਕਿਵੇਂ ਇੰਸਟਾਲ ਕਰਨਾ ਹੈ।
1. ਪਾਈਥਨ ਇੰਸਟਾਲੇਸ਼ਨ:
ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਸਿਸਟਮ ਤੇ ਪਾਈਥਨ ਇੰਸਟਾਲ ਹੈ। ਇਸ ਲਿਖਤ ਦੇ ਸਮੇਂ, ਟੈਨਸਰਫਲੋ ਪਾਈਥਨ 3.6 ਤੋਂ 3.9 ਦੇ ਅਨੁਕੂਲ ਹੈ। ਤੁਸੀਂ ਪਾਈਥਨ ਨੂੰ ਅਧਿਕਾਰਤ ਪਾਈਥਨ ਵੈੱਬਸਾਈਟ ਤੋਂ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ।
2. ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ:
ਆਪਣੇ ਟੈਂਸਰਫਲੋ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਅਲੱਗ ਕਰਨ ਲਈ ਇੱਕ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਬਣਾਉਣ ਦੀ ਜ਼ੋਰਦਾਰ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
''ਸ਼
ਪਾਈਥਨ -ਐਮ ਵੈਨਵ ਮਾਈਨਵ
ਮੈਕ/ਲੀਨਕਸ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਸਰੋਤ ਮਾਈਨਵ/ਬਿਨ/ਐਕਟੀਵੇਟ
myenv\Scripts\activate ਵਿੰਡੋਜ਼ ਉਪਭੋਗਤਾਵਾਂ ਲਈ
“
3. ਟੈਂਸਰਫਲੋ ਇੰਸਟਾਲੇਸ਼ਨ:
ਹੁਣ, ਪਾਈਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟੈਂਸਰਫਲੋ ਸਥਾਪਿਤ ਕਰੋ:
''ਸ਼
ਪਾਈਪ ਇੰਸਟੌਲ ਟੈਂਸਰਫਲੋ
“
3. ਟੈਂਸਰਫਲੋ ਨਾਲ ਹੈਲੋ ਵਰਲਡ
ਹੁਣ ਜਦੋਂ ਕਿ TensorFlow ਇੰਸਟਾਲ ਹੋ ਗਿਆ ਹੈ, ਆਓ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਸਧਾਰਨ Python ਸਕ੍ਰਿਪਟ ਬਣਾਈਏ। ਇੱਕ ਨਵੀਂ Python ਫਾਈਲ ਬਣਾਓ ਅਤੇ ਇਸਨੂੰ `hello_tensorflow.py` ਨਾਮ ਦਿਓ।
''ਪਾਇਥਨ
ਟੈਂਸਰਫਲੋ ਨੂੰ tf ਵਜੋਂ ਆਯਾਤ ਕਰੋ
ਇੱਕ ਸਥਿਰ ਬਣਾਓ
ਹੈਲੋ = tf.constant('ਹੈਲੋ, ਟੈਂਸਰਫਲੋ!')
ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ
tf.Session() ਨੂੰ ਸੈਸ ਵਜੋਂ:
ਨਤੀਜਾ = ਸੈਸ.ਰਨ(ਹੈਲੋ)
ਪ੍ਰਿੰਟ (ਨਤੀਜਾ)
“
ਕੋਡ ਨੂੰ TensorFlow ਵਰਜਨ 2.x ਦੇ ਅਨੁਸਾਰ ਅਨੁਕੂਲ ਬਣਾਓ:
''ਪਾਇਥਨ
ਟੈਂਸਰਫਲੋ ਨੂੰ tf ਵਜੋਂ ਆਯਾਤ ਕਰੋ
ਇੱਕ ਸਥਿਰ ਬਣਾਓ
ਹੈਲੋ = tf.constant('ਹੈਲੋ, ਟੈਂਸਰਫਲੋ!')
ਈਅਰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚਲਾਓ (ਡਿਫੌਲਟ ਤੌਰ 'ਤੇ ਚਾਲੂ)
ਪ੍ਰਿੰਟ(ਹੈਲੋ.ਨੰਪੀ())
“
ਫਾਈਲ ਸੇਵ ਕਰੋ, ਫਿਰ ਚਲਾਓ:
''ਸ਼
ਪਾਈਥਨ ਹੈਲੋ_ਟੈਂਸਰਫਲੋ.ਪੀ
“
4. ਟੈਂਸਰਾਂ ਅਤੇ ਮੁੱਢਲੇ ਕਾਰਜਾਂ ਨੂੰ ਸਮਝਣਾ
ਟੈਂਸਰ ਟੈਂਸਰਫਲੋ ਵਿੱਚ ਪ੍ਰਾਇਮਰੀ ਡੇਟਾ ਸਟ੍ਰਕਚਰ ਹਨ, ਜੋ ਕਿ ਬਹੁ-ਆਯਾਮੀ ਐਰੇ ਹਨ। ਟੈਂਸਰਾਂ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਇੱਥੇ ਕੁਝ ਉਦਾਹਰਣਾਂ ਹਨ:
''ਪਾਇਥਨ
ਟੈਂਸਰਫਲੋ ਨੂੰ tf ਵਜੋਂ ਆਯਾਤ ਕਰੋ
ਟੈਂਸਰ ਬਣਾਉਣਾ
ਸਕੇਲਰ = tf. ਸਥਿਰ(7) ਸਕੇਲਰ
ਵੈਕਟਰ = tf. ਸਥਿਰਾਂਕ([1, 2, 3]) ਵੈਕਟਰ
ਮੈਟ੍ਰਿਕਸ = tf. ਸਥਿਰਾਂਕ([[1, 2], [3, 4]]) ਮੈਟ੍ਰਿਕਸ
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D ਟੈਂਸਰ
ਪ੍ਰਿੰਟ(f'ਸਕੇਲਰ: {ਸਕੇਲਰ}')
ਪ੍ਰਿੰਟ (f'ਵੈਕਟਰ: {ਵੈਕਟਰ}')
ਪ੍ਰਿੰਟ (f'ਮੈਟ੍ਰਿਕਸ: {ਮੈਟ੍ਰਿਕਸ}')
ਪ੍ਰਿੰਟ (f'ਟੈਂਸਰ 3D: {ਟੈਂਸਰ3d}')
“
ਟੈਂਸਰਾਂ 'ਤੇ ਮੁੱਢਲੇ ਕਾਰਜ ਕਰਨ ਲਈ:
''ਪਾਇਥਨ
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
ਜੋੜਨ ਦੀ ਕਾਰਵਾਈ
ਜੋੜੋ = tf.ਜੋੜੋ(a, b)
ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਕਿਰਿਆਵਾਂ
ਮੁਲ = tf.matmul(a, b)
ਪ੍ਰਿੰਟ (f'ਜੋੜ: {ਜੋੜੋ}')
ਪ੍ਰਿੰਟ (f'ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ: {mul}')
“
5. ਇੱਕ ਸਧਾਰਨ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਮਾਡਲ ਬਣਾਉਣਾ
ਅਗਲਾ ਕਦਮ ਇੱਕ ਸਧਾਰਨ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਮਾਡਲ ਬਣਾਉਣਾ ਹੈ। ਅਸੀਂ MNIST ਡੇਟਾਸੈਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਚਿੱਤਰ ਵਰਗੀਕਰਣ ਮਾਡਲ ਬਣਾਵਾਂਗੇ, ਜੋ ਕਿ ਹੱਥ ਨਾਲ ਲਿਖੇ ਅੰਕ ਚਿੱਤਰਾਂ ਦਾ ਇੱਕ ਡੇਟਾਬੇਸ ਹੈ। ਆਓ ਸ਼ੁਰੂ ਕਰੀਏ:
''ਪਾਇਥਨ
ਟੈਂਸਰਫਲੋ ਨੂੰ tf ਵਜੋਂ ਆਯਾਤ ਕਰੋ
tensorflow.keras ਤੋਂ ਡੇਟਾਸੈੱਟ, ਲੇਅਰਾਂ, ਮਾਡਲਾਂ ਨੂੰ ਆਯਾਤ ਕਰੋ
MNIST ਡੇਟਾਸੈੱਟ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
(ਟ੍ਰੇਨ_ਚਿੱਤਰ, ਟ੍ਰੇਨ_ਲੇਬਲ), (ਟੈਸਟ_ਚਿੱਤਰ, ਟੈਸਟ_ਲੇਬਲ) = ਡੇਟਾਸੇਟ.ਮਨਿਸਟ.ਲੋਡ_ਡਾਟਾ()
ਚਿੱਤਰ ਸਧਾਰਣਕਰਨ
ਟ੍ਰੇਨ_ਚਿੱਤਰ, ਟੈਸਟ_ਚਿੱਤਰ = ਟ੍ਰੇਨ_ਚਿੱਤਰ / 255.0, ਟੈਸਟ_ਚਿੱਤਰ / 255.0
ਇੱਕ ਮਾਡਲ ਬਣਾਉਣਾ
ਮਾਡਲ = ਮਾਡਲ। ਕ੍ਰਮਵਾਰ ([
ਲੇਅਰਸ। ਫਲੈਟਨ (ਇਨਪੁਟ_ਸ਼ੇਪ = (28, 28)),
layers.Dense(128, activation='relu'),
ਪਰਤਾਂ। ਸੰਘਣੀ(10)
])
ਮਾਡਲ ਸੰਕਲਨ
ਮਾਡਲ.ਕੰਪਾਈਲ(ਆਪਟੀਮਾਈਜ਼ਰ='ਐਡਮ',
ਨੁਕਸਾਨ=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
ਮੈਟ੍ਰਿਕਸ=['ਸ਼ੁੱਧਤਾ'])
ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣਾ
ਮਾਡਲ.ਫਿੱਟ(ਟ੍ਰੇਨ_ਚਿੱਤਰ, ਟ੍ਰੇਨ_ਲੇਬਲ, ਯੁੱਗ=5)
ਮਾਡਲ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ
ਟੈਸਟ_ਲਾਸ, ਟੈਸਟ_ਏਸੀਸੀ = ਮਾਡਲ.ਮੁਲਾਂਕਣ(ਟੈਸਟ_ਚਿੱਤਰ, ਟੈਸਟ_ਲੇਬਲ)
ਪ੍ਰਿੰਟ (f'ਟੈਸਟ ਸ਼ੁੱਧਤਾ: {test_acc}')
“
ਵਿਆਖਿਆ:
– ਡੇਟਾਸੈੱਟ: ਅਸੀਂ MNIST ਡੇਟਾਸੈੱਟ ਨੂੰ ਆਯਾਤ ਅਤੇ ਲੋਡ ਕਰਦੇ ਹਾਂ।
- ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ: ਪਿਕਸਲ ਮੁੱਲਾਂ ਨੂੰ 255 ਨਾਲ ਵੰਡ ਕੇ ਡੇਟਾਸੈੱਟ ਨੂੰ ਆਮ ਬਣਾਓ।
– ਮਾਡਲ: ਅਸੀਂ ਦੋ ਪਰਤਾਂ ਵਾਲਾ ਇੱਕ ਸਧਾਰਨ ਮਾਡਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ। ਪਹਿਲੀ ਪਰਤ 2D ਚਿੱਤਰ ਨੂੰ 1D ਐਰੇ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇੱਕ ``ਫਲੈਟਨ'' ਪਰਤ ਹੈ। ਦੂਜੀ ਪਰਤ ਇੱਕ ``ਸੰਘਣੀ'' ਪਰਤ ਹੈ ਜਿਸ ਵਿੱਚ 128 ਨਿਊਰੋਨ ਅਤੇ ``ਰੀਲੂ` ਐਕਟੀਵੇਸ਼ਨ ਫੰਕਸ਼ਨ ਵਜੋਂ ਹਨ, ਅਤੇ ਆਖਰੀ ਇੱਕ ``ਸੰਘਣੀ'' ਪਰਤ ਹੈ ਜਿਸ ਵਿੱਚ 10 ਨਿਊਰੋਨ 10 ਕਲਾਸਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
- ਕੰਪਾਈਲ: ਅਸੀਂ ਮਾਡਲ ਨੂੰ `adam` ਆਪਟੀਮਾਈਜ਼ਰ ਅਤੇ `SparseCategoricalCrossentropy` ਨੂੰ ਨੁਕਸਾਨ ਫੰਕਸ਼ਨ ਵਜੋਂ ਵਰਤ ਕੇ ਕੰਪਾਇਲ ਕਰਦੇ ਹਾਂ।
- ਟ੍ਰੇਨ: ਮਾਡਲ ਨੂੰ 5 ਯੁੱਗਾਂ ਲਈ ਟ੍ਰੇਨ ਕਰੋ।
– ਮੁਲਾਂਕਣ: ਟੈਸਟ ਡੇਟਾ ਦੇ ਵਿਰੁੱਧ ਮਾਡਲ ਦਾ ਮੁਲਾਂਕਣ ਕਰੋ।
6. ਮਾਡਲਾਂ ਨੂੰ ਸੇਵ ਕਰਨਾ ਅਤੇ ਲੋਡ ਕਰਨਾ
ਇੱਕ ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਇਸਨੂੰ ਦੁਬਾਰਾ ਸਿਖਲਾਈ ਦਿੱਤੇ ਬਿਨਾਂ ਬਾਅਦ ਵਿੱਚ ਵਰਤੋਂ ਲਈ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹ ਸਕਦੇ ਹੋ। ਇੱਥੇ ਇੱਕ ਮਾਡਲ ਨੂੰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ ਅਤੇ ਲੋਡ ਕਰਨਾ ਹੈ:
''ਪਾਇਥਨ
ਮਾਡਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
ਮਾਡਲ.ਸੇਵ ('ਮੇਰਾ_ਮੋਡਲ.ਐਚ5')
ਮਾਡਲ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
ਨਵਾਂ_ਮਾਡਲ = tf.keras.models.load_model('ਮੇਰਾ_ਮਾਡਲ.h5')
ਲੋਡ ਕੀਤੇ ਮਾਡਲ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ
ਨੁਕਸਾਨ, acc = new_model.evaluate(ਟੈਸਟ_ਚਿੱਤਰ, ਟੈਸਟ_ਲੇਬਲ)
ਪ੍ਰਿੰਟ (f'ਲੋਡ ਕੀਤੇ ਮਾਡਲ ਦੀ ਸ਼ੁੱਧਤਾ: {acc}')
“
ਸਿੱਟਾ
ਇਹ ਗਾਈਡ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ TensorFlow ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਜਾਣ-ਪਛਾਣ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਅਸੀਂ MNIST ਡੇਟਾਸੈਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੰਸਟਾਲੇਸ਼ਨ, ਬੁਨਿਆਦੀ ਟੈਂਸਰ ਓਪਰੇਸ਼ਨਾਂ ਅਤੇ ਇੱਕ ਸਧਾਰਨ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਮਾਡਲ ਬਣਾਉਣ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੱਤੀ ਹੈ। TensorFlow ਖੋਜ ਕਰਨ ਲਈ ਬਹੁਤ ਸਾਰੀਆਂ ਉੱਨਤ ਸਮਰੱਥਾਵਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਉੱਨਤ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ, ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਮਾਡਲ, ਅਤੇ TPUs ਅਤੇ GPUs ਵਰਗੇ ਡਿਵਾਈਸਾਂ 'ਤੇ TensorFlow ਦੀ ਵਰਤੋਂ। ਸਾਨੂੰ ਉਮੀਦ ਹੈ ਕਿ ਇਹ ਟਿਊਟੋਰਿਅਲ ਤੁਹਾਨੂੰ TensorFlow ਨਾਲ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਦੀ ਦੁਨੀਆ ਵਿੱਚ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ।