آموزش TensorFlow برای مبتدیان
TensorFlow یکی از محبوبترین چارچوبها برای یادگیری عمیق و یادگیری ماشین است. TensorFlow که توسط تیم Google Brain توسعه داده شده است، به طور گسترده در پروژههای تحقیقاتی متعدد و کاربردهای صنعتی مورد استفاده قرار گرفته است. این مقاله یک آموزش گام به گام ارائه میدهد تا به شما، به عنوان یک مبتدی، در شروع کار با TensorFlow کمک کند.
۱. درک اصول اولیه TensorFlow
قبل از شروع نصب و استفاده از TensorFlow، درک مفهوم TensorFlow و مفاهیم اساسی پشت آن مهم است. TensorFlow یک چارچوب متنباز برای محاسبات عددی و یادگیری ماشین است. این چارچوب از نمودارهای جریان داده برای انجام عملیات عددی استفاده میکند، که در آن گرههای نمودار نشاندهنده عملیات ریاضی هستند و لبهها نشاندهنده آرایههای داده چندبعدی (تانسورها) متصل به آنها هستند.
۲. نصب تنسورفلو
اولین قدم در استفاده از TensorFlow نصب آن است. در اینجا نحوه نصب TensorFlow با استفاده از pip، مدیر بسته پایتون، آورده شده است.
۱. نصب پایتون:
مطمئن شوید که پایتون روی سیستم شما نصب شده است. TensorFlow در زمان نگارش این مطلب با پایتون ۳.۶ تا ۳.۹ سازگار است. میتوانید پایتون را از وبسایت رسمی پایتون دانلود کنید.
۲. محیط مجازی:
اکیداً توصیه میشود که یک محیط مجازی برای جداسازی پروژه TensorFlow خود ایجاد کنید:
«ش
پایتون -m venv myenv
منبع myenv/bin/activate برای کاربران مک/لینوکس
برای کاربران ویندوز، myenv\Scripts\activate
""
۳. نصب تنسورفلو:
حالا، TensorFlow را با استفاده از pip نصب کنید:
«ش
Pip install tensorflow
""
۳. سلام دنیا با TensorFlow
حالا که TensorFlow نصب شده است، بیایید یک اسکریپت ساده پایتون برای تأیید نصب ایجاد کنیم. یک فایل پایتون جدید ایجاد کنید و نام آن را `hello_tensorflow.py` بگذارید.
«پایتون
وارد کردن tensorflow به عنوان tf
ایجاد یک ثابت
سلام = tf.constant('سلام، TensorFlow!')
شروع جلسه
با tf.Session() به عنوان sess:
نتیجه = sess.run(سلام)
چاپ (نتیجه)
""
کد را مطابق با TensorFlow نسخه 2.x تطبیق دهید:
«پایتون
وارد کردن tensorflow به عنوان tf
ایجاد یک ثابت
سلام = tf.constant('سلام، TensorFlow!')
اجرا با استفاده از اجرای مشتاق (به طور پیشفرض فعال است)
چاپ(hello.numpy())
""
فایل را ذخیره کنید، سپس اجرا کنید:
«ش
پایتون hello_tensorflow.py
""
۴. درک تانسورها و عملیات پایه
تانسورها ساختار داده اصلی در TensorFlow هستند که آرایههای چندبعدی هستند. در اینجا چند مثال برای کمک به درک تانسورها آورده شده است:
«پایتون
وارد کردن tensorflow به عنوان tf
ایجاد تانسورها
اسکالر = tf. constant(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]]]) تانسور سهبعدی
چاپ(f'اسکالر: {اسکالر}')
چاپ(f'وکتور: {بردار}')
چاپ(f'ماتریس: {ماتریس}')
چاپ(f'Tensor 3D: {tensor3d}')
""
برای انجام عملیات پایه روی تانسورها:
«پایتون
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
عملیات جمع
جمع = tf.add(a, b)
عملیات ضرب ماتریسها
mul = tf.matmul(a, b)
چاپ(f'افزودن: {add}')
چاپ(f'ضرب ماتریس: {mul}')
""
۵. ایجاد یک مدل شبکه عصبی ساده
مرحله بعدی ایجاد یک مدل شبکه عصبی ساده است. ما یک مدل طبقهبندی تصویر با استفاده از مجموعه داده MNIST، یک پایگاه داده از تصاویر ارقام دستنویس، خواهیم ساخت. بیایید شروع کنیم:
«پایتون
وارد کردن tensorflow به عنوان tf
از tensorflow.keras مجموعه دادهها، لایهها و مدلها را وارد کنید
دانلود مجموعه داده MNIST
(تصاویر_آموزش، برچسبهای_آموزش)، (تصاویر_آزمون، برچسبهای_آزمون) = datasets.mnist.load_data()
نرمالسازی تصویر
تصاویر_آموزشی، تصاویر_آزمونی = تصاویر_آموزشی / ۲۵۵.۰، تصاویر_آزمونی / ۲۵۵.۰
ساختن یک مدل
مدل = models.Sequential([
لایهها.مسطح کردن(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
لایهها.متراکم(10)
])
تدوین مدل
model.compile(بهینهساز='adam',
تابع توزیع پراکندگی طبقهبندی متقاطع (from_logits=True)
معیارها=['دقت'])
آموزش مدل
model.fit(تصاویر_آموزش، برچسبهای_آموزش، دورهها=۵)
آزمایش مدل
تابع test_loss، تابع test_acc = model.evaluate(test_images, test_labels)
چاپ(f'دقت آزمون: {test_acc}')
""
توضیح:
– مجموعه دادهها: مجموعه دادههای MNIST را وارد و بارگذاری میکنیم.
– پیشپردازش: نرمالسازی مجموعه دادهها با تقسیم مقادیر پیکسلها بر ۲۵۵.
– مدل: ما یک مدل ساده با دو لایه تعریف میکنیم. لایه اول یک لایه «Flatten» است که تصویر دوبعدی را به یک آرایه یکبعدی تبدیل میکند. لایه دوم یک لایه «Dense» با ۱۲۸ نورون و «relu» به عنوان تابع فعالسازی است و آخرین لایه یک لایه «Dense» با ۱۰ نورون است که نشاندهنده ۱۰ کلاس هستند.
– کامپایل: ما مدل را با استفاده از بهینهساز `adam` و `SparseCategoricalCrossentropy` به عنوان تابع زیان کامپایل میکنیم.
– آموزش: مدل را برای ۵ دوره آموزش دهید.
– ارزیابی: مدل را با دادههای آزمایشی ارزیابی کنید.
۶. ذخیره و بارگذاری مدلها
پس از آموزش یک مدل، ممکن است بخواهید آن را برای استفادههای بعدی بدون نیاز به آموزش مجدد ذخیره کنید. در اینجا نحوه ذخیره و بارگذاری یک مدل آورده شده است:
«پایتون
ذخیره مدل
مدل.ذخیره('my_model.h5')
مدل بارگیری
new_model = tf.keras.models.load_model('my_model.h5′)
تأیید مدل بارگذاری شده
از دست دادن، acc = new_model.evaluate(test_images, test_labels)
چاپ(f'دقت مدل بارگذاری شده: {acc}')
""
نتیجه گیری
این راهنما مقدمهای مفصل برای شروع کار با TensorFlow برای مبتدیان ارائه میدهد. ما نصب، عملیات اولیه تنسور و ساخت یک مدل شبکه عصبی ساده با استفاده از مجموعه داده MNIST را پوشش دادهایم. TensorFlow قابلیتهای پیشرفته بسیاری را برای بررسی ارائه میدهد، مانند پردازش دادههای پیشرفته، مدلهای پیچیدهتر و استفاده از TensorFlow در دستگاههایی مانند TPU و GPU. امیدواریم این آموزش به شما در شروع کار با دنیای یادگیری ماشین با TensorFlow کمک کند.