TensorFlow-ի ձեռնարկ սկսնակների համար
TensorFlow-ն խորը ուսուցման և մեքենայական ուսուցման ամենատարածված շրջանակներից մեկն է: Google Brain թիմի կողմից մշակված TensorFlow-ն լայնորեն օգտագործվել է բազմաթիվ հետազոտական նախագծերում և արդյունաբերական կիրառություններում: Այս հոդվածը ներկայացնում է քայլ առ քայլ ձեռնարկ, որը կօգնի ձեզ՝ որպես սկսնակ, սկսել օգտագործել TensorFlow-ն:
1. TensorFlow-ի հիմունքների ըմբռնում
Մինչև TensorFlow-ի տեղադրումը և օգտագործումը սկսելը, կարևոր է հասկանալ, թե ինչ է TensorFlow-ն և դրա հիմքում ընկած հիմնական հասկացությունները: TensorFlow-ն թվային հաշվարկների և մեքենայական ուսուցման համար նախատեսված բաց կոդով շրջանակ է: Այն օգտագործում է տվյալների հոսքի գրաֆիկներ՝ թվային գործողություններ կատարելու համար, որտեղ գրաֆիկի հանգույցները ներկայացնում են մաթեմատիկական գործողություններ, իսկ եզրերը՝ բազմաչափ տվյալների զանգվածներ (տենզորներ), որոնք միացված են դրանց միջև:
2. TensorFlow-ի տեղադրում
TensorFlow-ն օգտագործելու առաջին քայլը դրա տեղադրումն է: Ահա, թե ինչպես տեղադրել TensorFlow-ն՝ օգտագործելով pip-ը՝ Python փաթեթների կառավարիչը:
1. Python-ի տեղադրում։
Համոզվեք, որ ձեր համակարգում տեղադրված է Python: Այս գրության պահին TensorFlow-ն համատեղելի է Python 3.6-ից մինչև 3.9 տարբերակների հետ: Դուք կարող եք ներբեռնել Python-ը Python-ի պաշտոնական կայքից:
2. Վիրտուալ միջավայր։
Ձեր TensorFlow նախագիծը մեկուսացնելու համար խիստ խորհուրդ է տրվում ստեղծել վիրտուալ միջավայր։
«շշշ»
python -m venv myenv
source myenv/bin/activate Mac/Linux օգտատերերի համար
myenv\Scripts\activate Windows օգտատերերի համար
««
3. TensorFlow-ի տեղադրումը։
Հիմա տեղադրեք TensorFlow-ն pip-ի միջոցով։
«շշշ»
pip install tensorflow
««
3. Բարև աշխարհ TensorFlow-ի հետ
Հիմա, երբ TensorFlow-ը տեղադրված է, եկեք ստեղծենք պարզ Python սկրիպտ՝ տեղադրումը ստուգելու համար: Ստեղծեք նոր Python ֆայլ և անվանեք այն `hello_tensorflow.py`:
«Պիթոն
ներմուծել tensorflow որպես tf
Ստեղծեք հաստատուն
բարև = tf.constant('Բարև, TensorFlow!')
Սկսել նիստը
tf.Session() ֆունկցիայի միջոցով որպես sess:
արդյունք = sess.run(բարև)
տպել (արդյունք)
««
Հարմարեցրեք կոդը TensorFlow տարբերակ 2.x-ին համապատասխան՝
«Պիթոն
ներմուծել tensorflow որպես tf
Ստեղծեք հաստատուն
բարև = tf.constant('Բարև, TensorFlow!')
Գործարկել eager execution-ով (միացված է ըստ լռելյայնի)
տպել(hello.numpy())
««
Պահպանեք ֆայլը, այնուհետև գործարկեք՝
«շշշ»
python hello_tensorflow.py
««
4. Տենզորների և հիմնական գործողությունների ըմբռնումը
Տենզորները TensorFlow-ի հիմնական տվյալների կառուցվածքն են, որոնք բազմաչափ զանգվածներ են: Ահա մի քանի օրինակներ, որոնք կօգնեն ձեզ հասկանալ թենզորները.
«Պիթոն
ներմուծել tensorflow որպես tf
Տենզորների ստեղծում
սկալյար = tf. constant(7) սկալյար
վեկտոր = tf. constant([1, 2, 3]) վեկտոր
մատրից = tf. constant([[1, 2], [3, 4]]) մատրից
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) եռաչափ թենզոր
տպել(f'Սկալար: {սկալար}')
տպել(f'Վեկտոր: {վեկտոր}')
տպել(f'Մատրիցա: {մատրից}')
տպել(f'Tensor 3D: {tensor3d}')
««
Տենզորների վրա հիմնական գործողություններ կատարելու համար՝
«Պիթոն
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Գումարման գործողություն
ավելացնել = tf.ավելացնել(a, b)
Մատրիցային բազմապատկման գործողություններ
mul = tf.matmul(a, b)
տպել(f'Գումարում: {ավելացնել}')
տպել(f'Մատրիցային բազմապատկում: {mul}')
««
5. Պարզ նեյրոնային ցանցի մոդելի ստեղծում
Հաջորդ քայլը պարզ նեյրոնային ցանցի մոդել ստեղծելն է: Մենք կկառուցենք պատկերի դասակարգման մոդել՝ օգտագործելով MNIST տվյալների բազան, որը ձեռագիր թվանշանների պատկերների տվյալների բազա է: Եկեք սկսենք.
«Պիթոն
ներմուծել tensorflow որպես tf
tensorflow.keras-ից ներմուծել տվյալների հավաքածուներ, շերտեր, մոդելներ
MNIST տվյալների հավաքածուի ներբեռնում
(գնացքի_պատկերներ, գնացքի_պիտակներ), (փորձարկման_պատկերներ, փորձարկման_պիտակներ) = տվյալների հավաքածուներ.mnist.load_data()
Պատկերի նորմալացում
գնացքի_պատկերներ, թեստային_պատկերներ = գնացքի_պատկերներ / 255.0, թեստային_պատկերներ / 255.0
Մոդել պատրաստելը
մոդել = models.Sequential([
շերտեր.Հարթեցնել(input_shape=(28, 28)),
շերտեր.Խիտ (128, ակտիվացում='relu'),
շերտեր.Խիտ (10)
])
Մոդելի կազմում
model.compile(optimizer='adam',
կորուստ = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = True),
չափումներ=['ճշգրտություն'])
Մոդելի մարզում
model.fit(train_images, train_labels, epochs=5)
Մոդելի փորձարկում
test_loss, test_acc = model.evaluate(test_images, test_labels)
տպել(f'Փորձարկման ճշգրտություն՝ {test_acc}')
««
Բացատրություն:
– Տվյալների հավաքածուներ. Մենք ներմուծում և բեռնում ենք MNIST տվյալների հավաքածուն։
– Նախնական մշակում. տվյալների բազմության նորմալացում՝ պիքսելների արժեքները 255-ի բաժանելով։
– Մոդել. Մենք սահմանում ենք պարզ մոդել՝ երկու շերտերով։ Առաջին շերտը `Flatten` շերտ է՝ երկչափ պատկերը 1D զանգվածի վերածելու համար։ Երկրորդ շերտը `Dense` շերտ է՝ 128 նեյրոններով և `relu`-ով՝ որպես ակտիվացման ֆունկցիա, իսկ վերջինը՝ `Dense` շերտ՝ 10 նեյրոններով, որոնք ներկայացնում են 10 դաս։
– Կոմպիլյացիա. Մենք կոմպիլացնում ենք մոդելը՝ օգտագործելով `adam` օպտիմիզատորը և `SparseCategoricalCrossentropy`-ն որպես կորստի ֆունկցիա։
– Մարզել. Մարզել մոդելը 5 դարաշրջանի համար։
– Գնահատել. Գնահատել մոդելը փորձարկման տվյալների համեմատ։
6. Մոդելների պահպանում և բեռնում
Մոդելը մարզելուց հետո, կարող եք պահպանել այն հետագա օգտագործման համար՝ առանց այն վերավարժեցնելու անհրաժեշտության: Ահա, թե ինչպես պահպանել և բեռնել մոդելը.
«Պիթոն
Մոդելի պահպանում
մոդել.պահպանել('իմ_մոդելը.h5')
Բեռնվում է մոդելը
նոր_մոդել = tf.keras.models.load_model('իմ_մոդելը.h5')
Բեռնված մոդելի ստուգում
կորուստ, acc = new_model.evaluate(test_images, test_labels)
տպել(f'Բեռնված մոդելի ճշգրտությունը՝ {acc}')
««
Եզրակացություն
Այս ուղեցույցը մանրամասն ներածություն է տալիս TensorFlow-ի հետ սկսնակների համար: Մենք անդրադարձել ենք տեղադրմանը, թենզորային հիմնական գործողություններին և MNIST տվյալների բազայի միջոցով պարզ նեյրոնային ցանցի մոդելի կառուցմանը: TensorFlow-ն առաջարկում է բազմաթիվ առաջադեմ հնարավորություններ ուսումնասիրելու համար, ինչպիսիք են առաջադեմ տվյալների մշակումը, ավելի բարդ մոդելները և TensorFlow-ի օգտագործումը TPU-ների և GPU-ների նման սարքերի վրա: Հուսով ենք, որ այս ձեռնարկը կօգնի ձեզ սկսել մեքենայական ուսուցման աշխարհը TensorFlow-ի միջոցով: