TensorFlow-ի օգտագործման ձեռնարկ սկսնակների համար

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(բարև)
տպել (արդյունք)
««

ՀԱՐՑ  SQL սովորելու լավագույն առցանց ռեսուրսները

Հարմարեցրեք կոդը 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-ի միջոցով:

Թողեք մեկնաբանություն