ਕੇਰਸ ਮਾਡਲ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਟੈਂਸਰਫਲੋ ਅਨੁਮਾਨਕ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਲਈ, ਸਾਨੂੰ ਕਈ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਪਹਿਲਾਂ, ਸਾਨੂੰ ਕੇਰਸ ਮਾਡਲ ਨੂੰ ਟੈਂਸਰਫਲੋ ਐਸਟੀਮੇਟਰ ਵਿੱਚ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ। ਇਹ `tf.keras.estimator.model_to_estimator` ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। `model_to_estimator` ਫੰਕਸ਼ਨ ਇੱਕ Keras ਮਾਡਲ ਨੂੰ ਇਨਪੁਟ ਵਜੋਂ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇੱਕ TensorFlow ਅਨੁਮਾਨਕ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਸਿਖਲਾਈ ਅਤੇ ਮੁਲਾਂਕਣ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇੱਕ ਵਾਰ ਜਦੋਂ ਸਾਡੇ ਕੋਲ TensorFlow ਅਨੁਮਾਨਕ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਅਸੀਂ ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਲਈ ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ। ਇੰਪੁੱਟ ਫੰਕਸ਼ਨ ਸਿਖਲਾਈ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੈ। ਇਸ ਨੂੰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਲੇਬਲਾਂ ਦਾ ਇੱਕ ਵੱਡਾ ਹਿੱਸਾ ਵਾਪਸ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਇਨਪੁਟ ਡੇਟਾ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ, ਅਤੇ ਲੇਬਲ ਹਰੇਕ ਇਨਪੁਟ ਉਦਾਹਰਨ ਲਈ ਲੋੜੀਂਦੇ ਆਉਟਪੁੱਟ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਬਣਾਉਣ ਲਈ, ਅਸੀਂ `tf.estimator.inputs.numpy_input_fn` ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਫੰਕਸ਼ਨ numpy ਐਰੇ ਨੂੰ ਇਨਪੁਟ ਵਜੋਂ ਲੈਂਦਾ ਹੈ ਅਤੇ ਇੱਕ ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਦਿੰਦਾ ਹੈ ਜੋ TensorFlow ਅਨੁਮਾਨਕ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਸਾਨੂੰ ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਨੂੰ ਨਮਪੀ ਐਰੇ ਦੇ ਤੌਰ ਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਲੇਬਲ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ `estimator.train` ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ TensorFlow ਅਨੁਮਾਨਕ ਨੂੰ ਸਿਖਲਾਈ ਦੇ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਧੀ ਇਨਪੁਟ ਫੰਕਸ਼ਨ ਨੂੰ ਇਨਪੁਟ ਵਜੋਂ ਲੈਂਦੀ ਹੈ ਅਤੇ ਪ੍ਰਦਾਨ ਕੀਤੇ ਸਿਖਲਾਈ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਦਿੰਦੀ ਹੈ। ਅਸੀਂ ਸਿਖਲਾਈ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਿਖਲਾਈ ਦੇ ਪੜਾਅ ਅਤੇ ਬੈਚ ਦੇ ਆਕਾਰ ਦੀ ਗਿਣਤੀ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹਾਂ।
ਇੱਥੇ ਇੱਕ ਉਦਾਹਰਨ ਕੋਡ ਸਨਿੱਪਟ ਹੈ ਜੋ ਕੇਰਸ ਮਾਡਲ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਇੱਕ TensorFlow ਅਨੁਮਾਨਕ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ:
python import tensorflow as tf import numpy as np # Convert Keras model to TensorFlow estimator keras_model = tf.keras.models.Sequential([ tf.keras.layers.Dense(64, activation='relu', input_shape=(10,)), tf.keras.layers.Dense(1, activation='sigmoid') ]) estimator = tf.keras.estimator.model_to_estimator(keras_model) # Define input function for training def input_fn(): features = np.random.rand(100, 10) labels = np.random.randint(2, size=(100,)) return features, labels # Train the TensorFlow estimator estimator.train(input_fn=input_fn, steps=1000, batch_size=32)
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਪਹਿਲਾਂ ਦੋ ਸੰਘਣੀ ਪਰਤਾਂ ਦੇ ਨਾਲ ਇੱਕ ਸਧਾਰਨ ਕੇਰਸ ਮਾਡਲ ਬਣਾਉਂਦੇ ਹਾਂ। ਅਸੀਂ ਫਿਰ `model_to_estimator` ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕੇਰਸ ਮਾਡਲ ਨੂੰ ਟੈਂਸਰਫਲੋ ਐਸਟੀਮੇਟਰ ਵਿੱਚ ਬਦਲਦੇ ਹਾਂ। ਅੱਗੇ, ਅਸੀਂ ਇੱਕ ਇਨਪੁਟ ਫੰਕਸ਼ਨ `input_fn` ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ ਜੋ ਬੇਤਰਤੀਬ ਸਿਖਲਾਈ ਡੇਟਾ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਅੰਤ ਵਿੱਚ, ਅਸੀਂ ਇੰਪੁੱਟ ਫੰਕਸ਼ਨ, ਸਿਖਲਾਈ ਦੇ ਕਦਮਾਂ ਦੀ ਸੰਖਿਆ, ਅਤੇ ਬੈਚ ਦੇ ਆਕਾਰ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਦੇ ਹੋਏ, `ਟ੍ਰੇਨ` ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ TensorFlow ਅਨੁਮਾਨਕ ਨੂੰ ਸਿਖਲਾਈ ਦਿੰਦੇ ਹਾਂ।
ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ, ਅਸੀਂ Keras ਮਾਡਲ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਇੱਕ TensorFlow ਅਨੁਮਾਨਕ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸਿਖਲਾਈ ਦੇ ਸਕਦੇ ਹਾਂ।
ਬਾਰੇ ਹੋਰ ਹਾਲੀਆ ਸਵਾਲ ਅਤੇ ਜਵਾਬ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿਚ ਅੱਗੇ ਵਧਣਾ:
- ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿੱਚ ਵੱਡੇ ਡੇਟਾਸੇਟਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਕੀ ਕਮੀਆਂ ਹਨ?
- ਕੀ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਕੁਝ ਡਾਇਲਾਗਿਕ ਸਹਾਇਤਾ ਕਰ ਸਕਦੀ ਹੈ?
- TensorFlow ਖੇਡ ਦਾ ਮੈਦਾਨ ਕੀ ਹੈ?
- ਕੀ ਉਤਸੁਕ ਮੋਡ TensorFlow ਦੀ ਵਿਤਰਿਤ ਕੰਪਿਊਟਿੰਗ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਰੋਕਦਾ ਹੈ?
- ਕੀ ਗੂਗਲ ਕਲਾਉਡ ਹੱਲਾਂ ਨੂੰ ਵੱਡੇ ਡੇਟਾ ਦੇ ਨਾਲ ਐਮਐਲ ਮਾਡਲ ਦੀ ਵਧੇਰੇ ਕੁਸ਼ਲ ਸਿਖਲਾਈ ਲਈ ਸਟੋਰੇਜ ਤੋਂ ਕੰਪਿਊਟਿੰਗ ਨੂੰ ਡੀਕੂਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ?
- ਕੀ ਗੂਗਲ ਕਲਾਉਡ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਇੰਜਨ (CMLE) ਮਾਡਲ ਦੀ ਸਿਖਲਾਈ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਆਟੋਮੈਟਿਕ ਸਰੋਤ ਪ੍ਰਾਪਤੀ ਅਤੇ ਸੰਰਚਨਾ ਅਤੇ ਹੈਂਡਲ ਸਰੋਤ ਬੰਦ ਕਰਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ?
- ਕੀ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਮਾਡਲਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਅੜਚਣ ਦੇ ਮਨਮਾਨੇ ਤੌਰ 'ਤੇ ਵੱਡੇ ਡੇਟਾ ਸੈੱਟਾਂ 'ਤੇ ਸਿਖਲਾਈ ਦੇਣਾ ਸੰਭਵ ਹੈ?
- CMLE ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਕੀ ਇੱਕ ਸੰਸਕਰਣ ਬਣਾਉਣ ਲਈ ਇੱਕ ਨਿਰਯਾਤ ਮਾਡਲ ਦੇ ਸਰੋਤ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ?
- ਕੀ CMLE ਗੂਗਲ ਕਲਾਉਡ ਸਟੋਰੇਜ ਡੇਟਾ ਤੋਂ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਅਤੇ ਅਨੁਮਾਨ ਲਈ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਿਖਲਾਈ ਪ੍ਰਾਪਤ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ?
- ਕੀ ਟੈਨਸਰਫਲੋ ਦੀ ਵਰਤੋਂ ਡੂੰਘੇ ਨਿਊਰਲ ਨੈੱਟਵਰਕ (DNNs) ਦੀ ਸਿਖਲਾਈ ਅਤੇ ਅਨੁਮਾਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ?
ਐਡਵਾਂਸਿੰਗ ਇਨ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿੱਚ ਹੋਰ ਸਵਾਲ ਅਤੇ ਜਵਾਬ ਦੇਖੋ