در این مطلب، ویدئو آموزش عمیق با PyTorch – دوره کامل با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 4:35:42
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:01,920
بچه ها به این پای همه در یک خوش آمدید
2
00:00:01,920 –> 00:00:04,400
فیلم مشعل این ویدیو همه قسمت ها را می گیرد
3
00:00:04,400 –> 00:00:06,399
از لیست پخش مشعل پای مبتدی من و
4
00:00:06,399 –> 00:00:08,480
آن را در یک ویدیو ترکیب می کند
5
00:00:08,480 –> 00:00:10,160
دوره از صفر به
6
00:00:10,160 –> 00:00:12,240
سطح متوسط است و به همه شما آموزش می دهد
7
00:00:12,240 –> 00:00:14,320
اصولی که برای بودن باید بدانید
8
00:00:14,320 –> 00:00:15,839
با این یادگیری عمیق مطمئن باشید
9
00:00:15,839 –> 00:00:16,480
چارچوب
10
00:00:16,480 –> 00:00:18,720
من برای هر بخش مهر زمانی می گذارم
11
00:00:18,720 –> 00:00:20,320
در توضیحات و همه کد موجود است
12
00:00:20,320 –> 00:00:21,760
موجود در github
13
00:00:21,760 –> 00:00:23,439
اکنون قبل از شروع می خواهم تشکر کنم
14
00:00:23,439 –> 00:00:25,279
حامی ما در این دوره
15
00:00:25,279 –> 00:00:28,800
زبانه 9. تب 9 یک خودکار مجهز به هوش مصنوعی است
16
00:00:28,800 –> 00:00:30,640
ابزار تکمیل که با
17
00:00:30,640 –> 00:00:31,519
ایده شما
18
00:00:31,519 –> 00:00:34,480
و به شما کمک می کند تا سریعتر کدنویسی کنید
19
00:00:34,480 –> 00:00:36,559
تمامی زبان های برنامه نویسی مدرن و
20
00:00:36,559 –> 00:00:38,719
تشخیص می دهد که با کدام زبان کار می کنید
21
00:00:38,719 –> 00:00:39,120
که در
22
00:00:39,120 –> 00:00:41,360
در واقع من خودم از این ابزار استفاده کرده ام
23
00:00:41,360 –> 00:00:43,360
مدتی است و باید بگویم که هستم
24
00:00:43,360 –> 00:00:44,079
واقعا تحت تاثیر قرار گرفت
25
00:00:44,079 –> 00:00:46,320
با این قابلیت یکی از من است
26
00:00:46,320 –> 00:00:48,960
پلاگین های مورد علاقه برای کد در حال حاضر و آن
27
00:00:48,960 –> 00:00:51,280
همچنین با شناسه های دیگر ادغام می شود
28
00:00:51,280 –> 00:00:53,520
از یادگیری عمیق زیر کاپوت استفاده می کند و
29
00:00:53,520 –> 00:00:55,680
بر روی کد از میلیون ها نفر آموزش دیده بود
30
00:00:55,680 –> 00:00:57,360
مخازن در github
31
00:00:57,360 –> 00:00:59,039
و با این دانش ابزار می تواند
32
00:00:59,039 –> 00:01:01,440
برای تکمیل کد پیش بینی کنید
33
00:01:01,440 –> 00:01:02,559
و پیشنهادات
34
00:01:02,559 –> 00:01:04,959
که به شما در کاهش سریعتر کد کمک می کند
35
00:01:04,959 –> 00:01:06,640
اشتباهات و حتی کشف
36
00:01:06,640 –> 00:01:08,880
بهترین شیوه های کدنویسی و من مجبورم
37
00:01:08,880 –> 00:01:10,080
اعتراف به این کار
38
00:01:10,080 –> 00:01:11,600
واقعا خوب است و به من در کارم کمک می کند
39
00:01:11,600 –> 00:01:13,360
گردش کار و یکی خوب و
40
00:01:13,360 –> 00:01:15,360
نکته مهمی که باید ذکر شود این است که شما
41
00:01:15,360 –> 00:01:17,280
کد کاملاً ایمن است بنابراین شما دارید
42
00:01:17,280 –> 00:01:19,040
حریم خصوصی کامل چون
43
00:01:19,040 –> 00:01:21,759
مدل تکمیل محلی تب 9 اجرا می شود
44
00:01:21,759 –> 00:01:22,960
دستگاه شما بدون
45
00:01:22,960 –> 00:01:25,040
ارسال هر کدام از کدهای شما در هر نقطه و
46
00:01:25,040 –> 00:01:26,159
بهترین بخش این است
47
00:01:26,159 –> 00:01:28,640
رایگان است طرح اولیه آنها رایگان است
48
00:01:28,640 –> 00:01:29,280
برای همیشه
49
00:01:29,280 –> 00:01:31,119
با گزینه ای برای ارتقاء اگر می خواهید
50
00:01:31,119 –> 00:01:32,720
مدل پیشرفته تر
51
00:01:32,720 –> 00:01:35,200
بنابراین من شما را تشویق می کنم آن را تست کنید
52
00:01:35,200 –> 00:01:36,079
آن را برای خودتان
53
00:01:36,079 –> 00:01:37,759
و ببین اگر دوستش داری ترکت می کنم
54
00:01:37,759 –> 00:01:39,759
یک لینک در توضیحات و با آن
55
00:01:39,759 –> 00:01:41,600
بیایید شروع کنیم و اگر از آن لذت می برید
56
00:01:41,600 –> 00:01:44,479
مطالب را حتما لایک کنید و مشترک شوید
57
00:01:44,479 –> 00:01:47,040
سلام به همه به یک آموزش جدید خوش آمدید
58
00:01:47,040 –> 00:01:48,000
سلسله
59
00:01:48,000 –> 00:01:50,000
در این مجموعه قصد داریم نحوه انجام آن را یاد بگیریم
60
00:01:50,000 –> 00:01:51,920
برای کار با مشعل پای
61
00:01:51,920 –> 00:01:53,840
مشعل پای یکی از محبوب ترین ها است
62
00:01:53,840 –> 00:01:55,360
یادگیری ماشینی و یادگیری عمیق
63
00:01:55,360 –> 00:01:56,399
چارچوب ها
64
00:01:56,399 –> 00:01:58,159
کار کردن با آن واقعا سرگرم کننده است و
65
00:01:58,159 –> 00:01:59,840
توسعه برنامه های کاربردی جالب
66
00:01:59,840 –> 00:02:01,920
پس امیدوارم سریال را ببینید و یاد بگیرید
67
00:02:01,920 –> 00:02:04,079
همه چیز در مورد اصول اولیه لازم برای این
68
00:02:04,079 –> 00:02:05,280
چارچوب
69
00:02:05,280 –> 00:02:07,360
بنابراین در این ویدیوی اول به شما نشان می دهم که چگونه ما را
70
00:02:07,360 –> 00:02:09,038
pytorch را نصب کنید
71
00:02:09,038 –> 00:02:12,319
پس بیایید شروع کنیم و برای این به سراغ
72
00:02:12,319 –> 00:02:13,800
وب سایت رسمی
73
00:02:13,800 –> 00:02:18,400
pytorch.org سپس بر روی شروع کلیک کنید
74
00:02:18,400 –> 00:02:21,360
سپس جدیدترین ساخت pi touch را انتخاب کنید
75
00:02:21,360 –> 00:02:22,000
همین الان
76
00:02:22,000 –> 00:02:25,520
این نسخه 1.3 است سپس خود را انتخاب کنید
77
00:02:25,520 –> 00:02:26,879
سیستم های عامل
78
00:02:26,879 –> 00:02:30,720
در مورد من مک است و سپس آن را انتخاب کنید
79
00:02:30,720 –> 00:02:32,879
مدیر بسته ای که می خواهید
80
00:02:32,879 –> 00:02:34,560
pytorch را نصب کنید
81
00:02:34,560 –> 00:02:37,840
بنابراین من به شدت توصیه می کنم از آناکوندا استفاده کنید
82
00:02:37,840 –> 00:02:40,160
و اگر آناکوندا را نصب نکرده اید
83
00:02:40,160 –> 00:02:42,319
هنوز و نمی دانم چگونه از آن استفاده کنم
84
00:02:42,319 –> 00:02:45,280
لطفا آموزش دیگر من را در مورد تماشا کنید
85
00:02:45,280 –> 00:02:47,519
آناکوندا بنابراین من لینک را در آن قرار می دهم
86
00:02:47,519 –> 00:02:50,000
شرح زیر
87
00:02:50,000 –> 00:02:52,239
و سپس جدیدترین پایتون را انتخاب کنید
88
00:02:52,239 –> 00:02:54,000
نسخه بنابراین اینجا را انتخاب می کنم
89
00:02:54,000 –> 00:02:57,519
پایتون 3.7 و
90
00:02:57,519 –> 00:03:00,560
متاسفانه در مک شما فقط می توانید
91
00:03:00,560 –> 00:03:03,280
نسخه cpu رو نصب کن
92
00:03:03,280 –> 00:03:06,319
در حال حاضر اما اگر در لینوکس یا
93
00:03:06,319 –> 00:03:07,120
پنجره ها
94
00:03:07,120 –> 00:03:10,239
و می خواهید از gpu پشتیبانی کنید
95
00:03:10,239 –> 00:03:13,920
پس شما هم می توانید نصب کنید یا مجبور شوید
96
00:03:13,920 –> 00:03:16,879
ابتدا جعبه ابزار cuda را نصب کنید
97
00:03:16,879 –> 00:03:19,440
بنابراین جعبه ابزار cuda یک توسعه است
98
00:03:19,440 –> 00:03:21,360
محیطی برای ایجاد بالا
99
00:03:21,360 –> 00:03:22,159
کارایی
100
00:03:22,159 –> 00:03:25,440
برنامه های شتاب دهنده gpu
101
00:03:25,440 –> 00:03:28,080
برای این کار به یک gpu nvidia در خود نیاز دارید
102
00:03:28,080 –> 00:03:29,519
دستگاه
103
00:03:29,519 –> 00:03:31,920
و اگر آن را دارید، می توانید به آن بروید
104
00:03:31,920 –> 00:03:34,680
تارنما
105
00:03:34,680 –> 00:03:36,799
اسلش developer.nvidia.com
106
00:03:36,799 –> 00:03:40,400
جدا منهای دانلود و سپس ما باید
107
00:03:40,400 –> 00:03:41,200
مراقب باش
108
00:03:41,200 –> 00:03:44,480
زیرا در حال حاضر جدیدترین پشتیبانی می شود
109
00:03:44,480 –> 00:03:49,120
نسخه cuda توسط pytorch cuda 10.1 است
110
00:03:49,120 –> 00:03:52,400
بنابراین ما باید این نسخه را دریافت کنیم
111
00:03:52,400 –> 00:03:56,400
بنابراین در حال حاضر جدیدترین نسخه 10.2 است
112
00:03:56,400 –> 00:04:00,400
بنابراین ما باید به نسخه های قدیمی برویم
113
00:04:00,400 –> 00:04:04,799
سپس جدیدترین جعبه ابزار cuda 10.1 را انتخاب کنید
114
00:04:04,799 –> 00:04:07,360
سپس سیستم عامل خود را برای انتخاب کنید
115
00:04:07,360 –> 00:04:08,239
مثال
116
00:04:08,239 –> 00:04:11,519
ویندوز 10 و سپس دانلود کنید
117
00:04:11,519 –> 00:04:12,319
نصاب
118
00:04:12,319 –> 00:04:14,799
و دستورالعمل ها و این را دنبال کنید
119
00:04:14,799 –> 00:04:16,560
همچنین بررسی خواهد کرد که آیا سیستم شما وجود دارد یا خیر
120
00:04:16,560 –> 00:04:19,279
مناسب برای جعبه ابزار cuda
121
00:04:19,279 –> 00:04:22,639
بنابراین اگر این موفقیت آمیز بود، ما می توانیم برویم
122
00:04:22,639 –> 00:04:23,840
بازگشت
123
00:04:23,840 –> 00:04:26,960
به سایت نمودار دایره ای و
124
00:04:26,960 –> 00:04:31,600
این دستور را کپی کنید تا در مورد من روی
125
00:04:31,600 –> 00:04:32,080
مک
126
00:04:32,080 –> 00:04:34,880
حالا من به این دستور نیاز دارم پس بیایید کپی کنیم
127
00:04:34,880 –> 00:04:36,720
این
128
00:04:36,720 –> 00:04:40,400
و حالا بیایید یک ترمینال باز کنیم
129
00:04:40,400 –> 00:04:43,440
و اول از همه می خواهیم a ایجاد کنیم
130
00:04:43,440 –> 00:04:46,240
محیط مجازی با conda که در آن
131
00:04:46,240 –> 00:04:47,120
ما می خواهیم که
132
00:04:47,120 –> 00:04:50,080
تمام بسته های ما را نصب و نصب کنید
133
00:04:50,080 –> 00:04:51,440
pytorch
134
00:04:51,440 –> 00:04:54,240
بنابراین بیایید یک محیط ایجاد کنیم
135
00:04:54,240 –> 00:04:55,360
کاندا
136
00:04:55,360 –> 00:04:59,120
منهای n را ایجاد کنید و اکنون نامی برای آن بگذارید
137
00:04:59,120 –> 00:05:03,600
بنابراین من این مشعل پی را به سادگی مشعل پی می نامم
138
00:05:03,600 –> 00:05:06,800
و سپس نسخه پایتون را نیز مشخص کنید
139
00:05:06,800 –> 00:05:07,759
پس بیایید بگوییم
140
00:05:07,759 –> 00:05:11,759
پایتون برابر با 3.7 است
141
00:05:11,759 –> 00:05:14,720
و سپس اینتر را بزنید و اکنون این ایجاد خواهد شد
142
00:05:14,720 –> 00:05:18,720
محیط مجازی شما با پایتون 3.7
143
00:05:18,720 –> 00:05:21,919
برای ادامه دوباره اینتر را بزنید
144
00:05:21,919 –> 00:05:25,120
و این مدتی طول می کشد و اکنون است
145
00:05:25,120 –> 00:05:26,560
انجام دادیم اکنون ما می توانیم
146
00:05:26,560 –> 00:05:29,280
این محیط را با کوندا فعال کنید
147
00:05:29,280 –> 00:05:30,320
فعال کردن
148
00:05:30,320 –> 00:05:33,680
مشعل پی و اکنون ما در داخل این هستیم
149
00:05:33,680 –> 00:05:35,919
محیط و ما می توانیم این را ببینیم زیرا
150
00:05:35,919 –> 00:05:37,520
اینجا در ابتدا
151
00:05:37,520 –> 00:05:40,800
ما pytorch را در پرانتز داریم بنابراین این
152
00:05:40,800 –> 00:05:43,039
نام محیط است
153
00:05:43,039 –> 00:05:46,400
و حالا بیایید خود را بچسبانیم
154
00:05:46,400 –> 00:05:49,680
دستور نصب از وب سایت
155
00:05:49,680 –> 00:05:52,639
بنابراین این مشعل پی و همه را نصب می کند
156
00:05:52,639 –> 00:05:53,759
ضروری
157
00:05:53,759 –> 00:05:56,960
بسته ها بنابراین این نیز خواهد شد
158
00:05:56,960 –> 00:06:00,000
چند ثانیه طول بکشد
159
00:06:00,000 –> 00:06:04,560
حالا دوباره اینتر را بزنید تا ادامه دهیم
160
00:06:05,680 –> 00:06:07,919
و در حال حاضر آن را انجام می شود بنابراین در حال حاضر ما
161
00:06:07,919 –> 00:06:10,000
pytorch نصب شده
162
00:06:10,000 –> 00:06:12,800
و ما می توانیم با شروع آن را تأیید کنیم
163
00:06:12,800 –> 00:06:13,440
پایتون
164
00:06:13,440 –> 00:06:16,639
در داخل این محیط پس بیایید بگوییم
165
00:06:16,639 –> 00:06:20,319
یا python را تایپ کنید و اینتر کنید و حالا داریم
166
00:06:20,319 –> 00:06:22,240
پایتون در حال اجراست و اکنون می توانیم
167
00:06:22,240 –> 00:06:25,440
ماژول مشعل را وارد کنید
168
00:06:25,440 –> 00:06:29,759
پس اگر نصب درست نبود
169
00:06:29,759 –> 00:06:31,440
و در حال حاضر شما می توانید
170
00:06:31,440 –> 00:06:34,479
خطای ماژول یافت نشد
171
00:06:34,479 –> 00:06:37,199
اما در این مورد صحیح است و اکنون
172
00:06:37,199 –> 00:06:38,639
ما می توانیم برای مثال
173
00:06:38,639 –> 00:06:41,680
یک تانسور مشعل ایجاد کنید، بنابراین فرض کنید x
174
00:06:41,680 –> 00:06:44,800
برابر است با نقطه مشعل رند انتهای
175
00:06:44,800 –> 00:06:48,080
سایز سه و حالا می خواهیم
176
00:06:48,080 –> 00:06:52,319
تانسور ما را چاپ کنید تا این نیز کار کند
177
00:06:52,319 –> 00:06:55,280
و اکنون میتوانیم بررسی کنیم که cuda است یا خیر
178
00:06:55,280 –> 00:06:56,960
در دسترس است تا بتوانیم بگوییم
179
00:06:56,960 –> 00:07:00,160
torch dot cuda dot
180
00:07:00,160 –> 00:07:03,599
خط زیر در دسترس است
181
00:07:03,599 –> 00:07:06,800
بنابراین در مورد من می گوید نادرست است اما اگر
182
00:07:06,800 –> 00:07:08,000
شما نصب کرده اید
183
00:07:08,000 –> 00:07:11,599
کیت ابزار cuda و همچنین gpu
184
00:07:11,599 –> 00:07:13,120
پشتیبانی
185
00:07:13,120 –> 00:07:16,000
بسته های pytorch پس این باید بگوید
186
00:07:16,000 –> 00:07:17,280
درست است، واقعی
187
00:07:17,280 –> 00:07:20,000
بنابراین بله، اکنون ما در خود نصب کرده ایم
188
00:07:20,000 –> 00:07:20,560
اوه
189
00:07:20,560 –> 00:07:23,360
نمودار دایره ای و می تواند شروع به کار کند
190
00:07:23,360 –> 00:07:25,599
با آن پس امیدوارم از این لذت برده باشید و
191
00:07:25,599 –> 00:07:28,840
شما را در آموزش بعدی می بینم
192
00:07:28,840 –> 00:07:31,840
خدا حافظ
193
00:07:33,919 –> 00:07:36,240
سلام به همه به مشعل پای جدید خوش آمدید
194
00:07:36,240 –> 00:07:37,120
آموزش
195
00:07:37,120 –> 00:07:38,960
در این ویدیو قصد داریم نحوه انجام این کار را یاد بگیریم
196
00:07:38,960 –> 00:07:40,720
برای کار با تانسورها
197
00:07:40,720 –> 00:07:42,720
بنابراین چگونه می توانیم تانسورها و برخی را ایجاد کنیم
198
00:07:42,720 –> 00:07:44,960
عملیات اساسی که ما نیاز داریم
199
00:07:44,960 –> 00:07:46,960
همچنین نحوه تبدیل از را یاد خواهیم گرفت
200
00:07:46,960 –> 00:07:49,199
آرایه های numpy به پی مشعل تانسور و
201
00:07:49,199 –> 00:07:50,400
برعکس
202
00:07:50,400 –> 00:07:53,440
پس بیایید در pytorch شروع کنیم
203
00:07:53,440 –> 00:07:56,560
همه چیز بر اساس عملیات تانسور است
204
00:07:56,560 –> 00:07:58,960
از numpy احتمالا آرایه ها و
205
00:07:58,960 –> 00:07:59,759
بردارها
206
00:07:59,759 –> 00:08:01,759
و اکنون در پی مشعل همه چیز یک است
207
00:08:01,759 –> 00:08:02,960
تانسور
208
00:08:02,960 –> 00:08:04,560
بنابراین یک تانسور می تواند متفاوت باشد
209
00:08:04,560 –> 00:08:07,039
ابعاد به طوری که می تواند 1d باشد
210
00:08:07,039 –> 00:08:11,199
2 بعدی یا حتی 3 بعدی یا دارای ابعاد بیشتری هستند
211
00:08:11,199 –> 00:08:14,560
بنابراین بیایید یک تانسور خالی ایجاد کنیم
212
00:08:14,560 –> 00:08:18,560
البته اول از همه مشعل وارد می کنیم
213
00:08:18,560 –> 00:08:21,840
و سپس می گوییم x برابر با مشعل است
214
00:08:21,840 –> 00:08:26,000
نقطه خالی و سپس
215
00:08:26,000 –> 00:08:28,720
برای مثال باید به آن اندازه بدهیم
216
00:08:28,720 –> 00:08:30,479
اگر فقط یکی را بگوییم
217
00:08:30,479 –> 00:08:33,200
پس این مانند یک مقدار اسکالر است
218
00:08:33,200 –> 00:08:33,599
اجازه دهید
219
00:08:33,599 –> 00:08:37,519
تانسور ما را چاپ کنید تا این کار انجام شود
220
00:08:37,519 –> 00:08:40,880
یک تانسور خالی چاپ کنید تا مقدار آن باشد
221
00:08:40,880 –> 00:08:42,080
اولیه نشده است
222
00:08:42,080 –> 00:08:45,839
هنوز و اکنون می توانیم اندازه را تغییر دهیم
223
00:08:45,839 –> 00:08:47,440
برای مثال اگر بگوییم
224
00:08:47,440 –> 00:08:50,480
سه در اینجا پس این مانند یک است
225
00:08:50,480 –> 00:08:53,519
بردار یک d با سه عنصر بنابراین اکنون
226
00:08:53,519 –> 00:08:54,720
اگر این را اجرا کنید
227
00:08:54,720 –> 00:08:58,320
ما سه مورد را در تانسور خود می بینیم
228
00:08:58,320 –> 00:09:01,200
و اکنون می توانیم آن را 2 بعدی نیز کنیم
229
00:09:01,200 –> 00:09:04,480
به عنوان مثال فرض کنید اندازه آن دو در است
230
00:09:04,480 –> 00:09:08,000
سه پس این مانند یک ماتریس دو بعدی است
231
00:09:08,000 –> 00:09:12,160
و من این را اجرا می کنم و البته می توانیم
232
00:09:12,160 –> 00:09:15,040
حتی ابعاد بیشتری را در آن قرار دهید تا اکنون آن را انجام دهید
233
00:09:15,040 –> 00:09:15,839
خواهد بود
234
00:09:15,839 –> 00:09:19,760
به عنوان مثال 3 بعدی و اکنون
235
00:09:19,760 –> 00:09:23,200
الان 40 میشه ولی الان چاپ نمیکنم
236
00:09:23,200 –> 00:09:24,640
آن را دیگر به دلیل
237
00:09:24,640 –> 00:09:26,959
اوم دیدن این چهار تا سخته
238
00:09:26,959 –> 00:09:28,320
ابعاد
239
00:09:28,320 –> 00:09:30,560
اما بله اینگونه می توانیم ایجاد کنیم
240
00:09:30,560 –> 00:09:31,600
خالی
241
00:09:31,600 –> 00:09:34,640
اوه تانسور و ما نیز می توانیم
242
00:09:34,640 –> 00:09:38,080
برای مثال ایجاد یک تانسور با
243
00:09:38,080 –> 00:09:41,200
مقادیر تصادفی با گفتن مشعل
244
00:09:41,200 –> 00:09:44,160
نقطه رند و سپس به آن اندازه بدهید
245
00:09:44,160 –> 00:09:44,880
بیایید بگوییم
246
00:09:44,880 –> 00:09:48,880
دو به دو و بیایید تانسور خود را چاپ کنیم
247
00:09:48,880 –> 00:09:51,279
از نو
248
00:09:51,279 –> 00:09:55,200
اوم ما همچنین می توانیم مانند در numpy
249
00:09:55,200 –> 00:09:58,880
می توانیم بگوییم نقطه مشعل صفر است
250
00:09:58,880 –> 00:10:02,000
بنابراین این همه قرار خواهد داد
251
00:10:02,000 –> 00:10:05,120
ام صفر در آن یا می توانیم بگوییم
252
00:10:05,120 –> 00:10:08,320
نقطه مشعل یک بار تا این قرار داده شود
253
00:10:08,320 –> 00:10:11,920
یک بار در همه موارد
254
00:10:11,920 –> 00:10:16,079
اوم پس ما نیز می توانیم آن را مشخص کنیم
255
00:10:16,079 –> 00:10:19,360
نوع داده بنابراین اول از همه می توانیم a داشته باشیم
256
00:10:19,360 –> 00:10:22,320
با گفتن به نوع داده نگاه کنید
257
00:10:22,320 –> 00:10:25,360
x نوع d
258
00:10:25,360 –> 00:10:28,079
بنابراین اگر این را اجرا کنیم به طور پیش فرض می بینیم
259
00:10:28,079 –> 00:10:28,399
این است
260
00:10:28,399 –> 00:10:32,560
یک شناور 32 اما می توانیم آن را نیز بدهیم
261
00:10:32,560 –> 00:10:36,079
پارامتر نوع d و در اینجا می توانیم بگوییم
262
00:10:36,079 –> 00:10:38,399
به عنوان مثال نقطه مشعل
263
00:10:38,399 –> 00:10:42,079
بنابراین اکنون همه اعداد صحیح هستند
264
00:10:42,079 –> 00:10:46,720
یا می توانیم بگوییم نقطه مشعل دو برابر است
265
00:10:46,720 –> 00:10:50,880
حالا دو برابر شده است یا می توانیم بگوییم
266
00:10:50,880 –> 00:10:54,800
به عنوان مثال float 16 just
267
00:10:54,800 –> 00:10:58,000
ام آره
268
00:10:58,000 –> 00:11:00,399
و حالا اگر می خواهید به آن نگاهی بیندازید
269
00:11:00,399 –> 00:11:01,519
اندازه
270
00:11:01,519 –> 00:11:05,360
ما می توانیم این کار را با گفتن نقطه x انجام دهیم
271
00:11:05,360 –> 00:11:08,079
اندازه و این یک تابع است بنابراین ما داریم
272
00:11:08,079 –> 00:11:10,240
برای استفاده از پرانتز
273
00:11:10,240 –> 00:11:14,240
بنابراین اندازه آن را چاپ می کند
274
00:11:14,240 –> 00:11:17,920
و همچنین می توانیم از آن یک تانسور بسازیم
275
00:11:17,920 –> 00:11:20,959
برای مثال داده های یک پایتون
276
00:11:20,959 –> 00:11:25,120
به عنوان مثال در اینجا می توانیم بگوییم
277
00:11:25,120 –> 00:11:28,800
x برابر با نقطه مشعل است
278
00:11:28,800 –> 00:11:32,800
10 زخم و سپس در اینجا یک قرار می دهیم
279
00:11:32,800 –> 00:11:35,959
لیست با برخی از عناصر پس بیایید بگوییم
280
00:11:35,959 –> 00:11:39,519
2.5 0.1
281
00:11:39,519 –> 00:11:43,440
و سپس تانسور ما را چاپ کنید
282
00:11:43,440 –> 00:11:45,920
بنابراین این نیز چگونه می توانیم ایجاد کنیم
283
00:11:45,920 –> 00:11:47,279
تانسور
284
00:11:47,279 –> 00:11:49,839
و اکنون بیایید در مورد برخی از موارد اساسی صحبت کنیم
285
00:11:49,839 –> 00:11:50,800
عملیات
286
00:11:50,800 –> 00:11:54,240
که می توانیم انجام دهیم، بیایید دو بسازیم
287
00:11:54,240 –> 00:11:57,760
تانسورها با مقادیر تصادفی اندازه 2 توسط
288
00:11:57,760 –> 00:11:58,639
2
289
00:11:58,639 –> 00:12:01,680
بنابراین x و y برابر با مشعل است
290
00:12:01,680 –> 00:12:05,600
نقطه 2 در 2.
291
00:12:05,600 –> 00:12:09,680
پس بیایید x چاپ کنیم و بیایید چاپ کنیم
292
00:12:09,680 –> 00:12:14,480
y و
293
00:12:14,560 –> 00:12:17,920
بله، پس اکنون می توانیم انجام دهیم
294
00:12:17,920 –> 00:12:21,120
جمع ساده به عنوان مثال با گفتن
295
00:12:21,120 –> 00:12:24,480
مجموعه برابر x به اضافه y است
296
00:12:24,480 –> 00:12:27,839
بنابراین و اکنون بیایید c خود را چاپ کنیم
297
00:12:27,839 –> 00:12:31,040
بنابراین این کار جمع عاقلانه عنصر را انجام می دهد
298
00:12:31,040 –> 00:12:32,240
آن اضافه خواهد شد
299
00:12:32,240 –> 00:12:36,160
هر یک از ورودی ها
300
00:12:36,160 –> 00:12:39,440
و همچنین می توانستیم استفاده کنیم
301
00:12:39,440 –> 00:12:42,560
مجموعه برابر با نقطه مشعل است
302
00:12:42,560 –> 00:12:46,079
در و سپس x و y بنابراین این کار را انجام می دهد
303
00:12:46,079 –> 00:12:50,639
همان چیز اوم
304
00:12:50,639 –> 00:12:53,600
در حال حاضر ما همچنین می توانیم در محل انجام دهیم
305
00:12:53,600 –> 00:12:54,480
علاوه بر این
306
00:12:54,480 –> 00:12:57,600
بنابراین برای مثال اگر بگوییم
307
00:12:57,600 –> 00:13:01,360
ام ی
308
00:13:01,360 –> 00:13:05,519
نقطه و سپس در زیر خط
309
00:13:05,519 –> 00:13:09,040
x و سپس y را چاپ کنید
310
00:13:09,040 –> 00:13:12,880
بنابراین این y ما را تغییر داده و اضافه می کند
311
00:13:12,880 –> 00:13:16,079
تمام عناصر x به y ما
312
00:13:16,079 –> 00:13:19,120
و به هر حال در پی مشعل هر
313
00:13:19,120 –> 00:13:20,079
عملکردی که دارد
314
00:13:20,079 –> 00:13:23,120
زیرخط آخر این کار را انجام خواهد داد
315
00:13:23,120 –> 00:13:26,720
در محل عملیات، بنابراین این تغییر خواهد کرد
316
00:13:26,720 –> 00:13:31,360
متغیری که روی آن اعمال می شود
317
00:13:31,360 –> 00:13:35,040
پس بله پس در کنار اضافه البته ما
318
00:13:35,040 –> 00:13:36,240
همچنین می توانست
319
00:13:36,240 –> 00:13:40,000
از تفریق استفاده کنید تا بتوانیم بگوییم c برابر است
320
00:13:40,000 –> 00:13:44,720
x منهای y یا این همان c خواهد بود
321
00:13:44,720 –> 00:13:49,279
برابر با نقطه مشعل زیر
322
00:13:49,279 –> 00:13:53,519
x و y حالا اگر c را چاپ کنید
323
00:13:53,519 –> 00:13:56,320
سپس ما می توانیم عنصر را توسط
324
00:13:56,320 –> 00:13:57,920
منها کردن
325
00:13:57,920 –> 00:14:00,880
سپس می توانیم یک ضرب نیز انجام دهیم
326
00:14:00,880 –> 00:14:02,000
هر عنصر بنابراین
327
00:14:02,000 –> 00:14:06,079
این می تواند نقطه مشعل mal
328
00:14:06,079 –> 00:14:09,360
و دوباره ما می توانیم همه چیز را در جای خود انجام دهیم
329
00:14:09,360 –> 00:14:13,120
با گفتن y dot mal underscore
330
00:14:13,120 –> 00:14:17,040
x پس این y ما را تغییر می دهد
331
00:14:17,040 –> 00:14:19,600
و سپس ما همچنین می توانیم عنصر عاقلانه را انجام دهیم
332
00:14:19,600 –> 00:14:20,399
شهریه
333
00:14:20,399 –> 00:14:24,399
بنابراین این تفاوت نقطه مشعل خواهد بود
334
00:14:24,399 –> 00:14:26,560
و بله، پس این مقداری اساسی است
335
00:14:26,560 –> 00:14:28,839
عملیاتی که می توانیم با آنها انجام دهیم
336
00:14:28,839 –> 00:14:33,120
تانسورها و سپس ما نیز می توانیم انجام دهیم
337
00:14:33,120 –> 00:14:36,480
عملیات برش مانند آنچه شما به آن عادت کرده اید
338
00:14:36,480 –> 00:14:40,399
از آرایه های numpy، بنابراین فرض کنید که داریم
339
00:14:40,399 –> 00:14:44,240
یک تانسور اندازه بیایید بگوییم
340
00:14:44,240 –> 00:14:49,360
پنج در سه و بیایید اول این را چاپ کنیم
341
00:14:49,360 –> 00:14:53,279
و حالا x را چاپ کنید
342
00:14:53,279 –> 00:14:58,880
و اکنون به عنوان مثال می توانیم به سادگی
343
00:14:58,880 –> 00:15:01,680
یا میتوانیم همه ردیفها را دریافت کنیم، به جز یک
344
00:15:01,680 –> 00:15:03,040
ستون پس بیایید
345
00:15:03,040 –> 00:15:07,600
از برش استفاده کنید بنابراین ما در اینجا از a استفاده می کنیم
346
00:15:07,600 –> 00:15:11,600
ستون برای همه سطرها اما فقط
347
00:15:11,600 –> 00:15:15,360
ستون صفر بنابراین
348
00:15:15,360 –> 00:15:18,959
بیایید کل تانسور را چاپ کنیم
349
00:15:18,959 –> 00:15:22,399
و فقط این را در اینجا می بینیم
350
00:15:22,399 –> 00:15:25,600
ما فقط ستون اول را داریم اما همه
351
00:15:25,600 –> 00:15:27,519
ردیف ها
352
00:15:27,519 –> 00:15:31,519
یا فقط می توانیم بگوییم بیایید
353
00:15:31,519 –> 00:15:34,800
از ردیف شماره یک اما استفاده کنید
354
00:15:34,800 –> 00:15:38,000
همه ستون ها
355
00:15:38,000 –> 00:15:42,240
بنابراین این چاپ می شود
356
00:15:42,240 –> 00:15:45,920
سطر دوم و تمام ستون ها
357
00:15:45,920 –> 00:15:49,759
اوم پس ما همچنین می توانیم فقط یک عنصر را دریافت کنیم
358
00:15:49,759 –> 00:15:50,639
بنابراین
359
00:15:50,639 –> 00:15:54,320
عنصر در موقعیت یک
360
00:15:54,320 –> 00:15:58,320
بنابراین این خواهد بود و این ارزش
361
00:15:58,320 –> 00:16:01,040
و به هر حال در حال حاضر آن را چاپ می کند
362
00:16:01,040 –> 00:16:02,320
تانسور
363
00:16:02,320 –> 00:16:05,040
و اگر یک تانسور فقط با یک داشته باشیم
364
00:16:05,040 –> 00:16:08,720
عنصر ما همچنین می توانیم بگوییم um می توانیم فراخوانی کنیم
365
00:16:08,720 –> 00:16:09,680
نقطه
366
00:16:09,680 –> 00:16:13,360
روش مورد پس از این خواهد شد
367
00:16:13,360 –> 00:16:16,480
ارزش واقعی اما مراقب باشید شما فقط می توانید
368
00:16:16,480 –> 00:16:17,680
اگر دارید از این استفاده کنید
369
00:16:17,680 –> 00:16:20,720
فقط یک عنصر در تانسور شما
370
00:16:20,720 –> 00:16:24,399
بنابراین این مقدار واقعی را دریافت می کند
371
00:16:24,399 –> 00:16:27,519
و بله حالا بیایید در مورد آن صحبت کنیم
372
00:16:27,519 –> 00:16:30,880
تغییر شکل یک تانسور، بنابراین فرض کنید داریم
373
00:16:30,880 –> 00:16:31,199
آ
374
00:16:31,199 –> 00:16:34,560
تانسور اندازه بیایید بگوییم
375
00:16:34,560 –> 00:16:40,240
چهار در 4×4 و تانسور ما را چاپ کنید
376
00:16:40,800 –> 00:16:43,199
و حالا اگر میخواهید آن را دوباره شکل دهید
377
00:16:43,199 –> 00:16:44,240
ما میتونیم این کارو انجام بدیم
378
00:16:44,240 –> 00:16:48,079
با گفتن یا فراخوانی روش view
379
00:16:48,079 –> 00:16:51,680
پس می گوییم y برابر است
380
00:16:51,680 –> 00:16:55,680
x را مشاهده کنید و سپس به آن اندازه بدهید
381
00:16:55,680 –> 00:16:59,440
بنابراین بیایید بگوییم ما فقط یک بعد می خواهیم
382
00:16:59,440 –> 00:17:00,320
اکنون
383
00:17:00,320 –> 00:17:04,559
پس بیایید y um را چاپ کنیم
384
00:17:04,559 –> 00:17:09,280
بنابراین اکنون فقط یک بردار یک d است
385
00:17:09,280 –> 00:17:12,319
اوم و البته
386
00:17:12,319 –> 00:17:15,520
تعداد عناصر باید همچنان
387
00:17:15,520 –> 00:17:19,119
همینطور باشد، بنابراین در اینجا ما چهار در چهار داریم
388
00:17:19,119 –> 00:17:22,720
بنابراین در مجموع آن نیز 16 مقدار است
389
00:17:22,720 –> 00:17:25,760
و به عنوان مثال اگر ما نمی خواهیم
390
00:17:25,760 –> 00:17:29,039
بعد یا
391
00:17:29,039 –> 00:17:32,480
ارزش در یک بعد و ما به سادگی می توانیم
392
00:17:32,480 –> 00:17:32,799
گفتن
393
00:17:32,799 –> 00:17:36,160
منهای یکی و سپس دیگری را مشخص کنید
394
00:17:36,160 –> 00:17:38,400
بعد و مشعل پی
395
00:17:38,400 –> 00:17:40,880
به طور خودکار حق را تعیین می کند
396
00:17:40,880 –> 00:17:42,240
اندازه برای آن بنابراین
397
00:17:42,240 –> 00:17:46,480
حالا باید دو در هشت باشد
398
00:17:46,480 –> 00:17:49,760
um تانسور بنابراین ما نیز می توانیم
399
00:17:49,760 –> 00:17:53,120
دوباره اندازه را چاپ کنید تا نگاهی به آن بیندازید
400
00:17:53,120 –> 00:17:55,039
اندازه
401
00:17:55,039 –> 00:17:57,280
بنابراین این اندازه دو در هشت است پس همینطور است
402
00:17:57,280 –> 00:17:59,360
اندازه را به درستی تعیین کرد
403
00:17:59,360 –> 00:18:02,400
اگر منهای یک را در اینجا قرار دهیم، بله
404
00:18:02,400 –> 00:18:05,760
به این ترتیب می توانیم اندازه تانسورها را تغییر دهیم
405
00:18:05,760 –> 00:18:09,280
و حالا بیایید در مورد تبدیل صحبت کنیم
406
00:18:09,280 –> 00:18:12,240
از ناتوانی گرفته تا تانسور مشعل و معاون
407
00:18:12,240 –> 00:18:13,280
برعکس
408
00:18:13,280 –> 00:18:16,880
بنابراین این بسیار آسان است بنابراین اول از همه
409
00:18:16,880 –> 00:18:20,000
بیایید numpy را دوباره وارد کنیم
410
00:18:20,000 –> 00:18:23,360
یا numpy snp را وارد کنید
411
00:18:23,360 –> 00:18:26,799
و فکر می کنم باید
412
00:18:26,799 –> 00:18:29,840
اوه نه قبلاً اینجا نصب شده است
413
00:18:29,840 –> 00:18:34,080
پس بیایید ابتدا یک تانسور ایجاد کنیم
414
00:18:34,080 –> 00:18:37,600
بنابراین یک مشعل برابر است
415
00:18:37,600 –> 00:18:40,640
نقطه و بیایید یک تانسور با
416
00:18:40,640 –> 00:18:43,919
آنهایی که سایز پنج هستند پس بیایید
417
00:18:43,919 –> 00:18:47,679
تانسور ما را چاپ کنید
418
00:18:47,679 –> 00:18:51,440
و حالا اگر بخواهیم یک آرایه numpy داشته باشیم
419
00:18:51,440 –> 00:18:53,440
به سادگی می توانیم بگوییم
420
00:18:53,440 –> 00:18:57,679
b برابر است با یک نقطه numpy
421
00:18:57,679 –> 00:19:02,240
و سپس چاپ ب
422
00:19:02,400 –> 00:19:05,360
بنابراین در حال حاضر ما یک آرایه numpy بنابراین اگر ما
423
00:19:05,360 –> 00:19:06,080
چاپ کنید
424
00:19:06,080 –> 00:19:11,039
نوع b um
425
00:19:11,039 –> 00:19:13,360
و سپس این خواهد دید و این خواهد شد
426
00:19:13,360 –> 00:19:14,720
چاپی که داریم یک
427
00:19:14,720 –> 00:19:18,880
numpy و d آرایه پس بله ما اینگونه هستیم
428
00:19:18,880 –> 00:19:20,880
می تواند از تانسور تا a ایجاد کند
429
00:19:20,880 –> 00:19:24,559
آرایه numpy ام اما حالا باید باشیم
430
00:19:24,559 –> 00:19:26,240
مراقب باشید زیرا
431
00:19:26,240 –> 00:19:29,840
اگر تانسور روی cpu باشد و نه
432
00:19:29,840 –> 00:19:33,520
gpu سپس هر دو شیء به اشتراک خواهند گذاشت
433
00:19:33,520 –> 00:19:35,280
همان مکان حافظه
434
00:19:35,280 –> 00:19:38,160
بنابراین این بدان معنی است که اگر ما یکی را تغییر دهیم
435
00:19:38,160 –> 00:19:39,039
همچنین خواهد شد
436
00:19:39,039 –> 00:19:42,799
دیگری را تغییر دهید به عنوان مثال اگر ما
437
00:19:42,799 –> 00:19:46,799
چاپ کنیم یا اگر اصلاح کنیم
438
00:19:46,799 –> 00:19:49,840
b یا a در محل توسط
439
00:19:49,840 –> 00:19:53,200
گفتن یک نقطه در زیر خط
440
00:19:53,200 –> 00:19:55,280
تمام توابع خط زیر را به خاطر بسپارید
441
00:19:55,280 –> 00:19:58,080
متغیر ما را در جای خود تغییر خواهد داد
442
00:19:58,080 –> 00:20:00,880
و اگر به هر کدام یکی اضافه کنیم یکی اضافه کنیم
443
00:20:00,880 –> 00:20:01,600
عنصر
444
00:20:01,600 –> 00:20:04,720
و حالا ابتدا اجازه دهید نگاهی به خودمان بیندازیم
445
00:20:04,720 –> 00:20:08,559
یک تانسور و حالا بیایید نگاهی هم بیندازیم
446
00:20:08,559 –> 00:20:09,600
تور
447
00:20:09,600 –> 00:20:13,120
b آرایه numpy سپس می بینیم که آن را
448
00:20:13,120 –> 00:20:16,559
همچنین به هر کدام به اضافه یک اضافه شده است
449
00:20:16,559 –> 00:20:17,679
عناصر در اینجا
450
00:20:17,679 –> 00:20:20,720
زیرا هر دو به یک نکته اشاره می کنند
451
00:20:20,720 –> 00:20:22,400
مکان حافظه
452
00:20:22,400 –> 00:20:26,080
پس مراقب باشید اینجا و
453
00:20:26,080 –> 00:20:28,400
بله، اگر می خواهید آن را انجام دهید
454
00:20:28,400 –> 00:20:29,200
راه دور
455
00:20:29,200 –> 00:20:32,400
بنابراین اگر شما یک
456
00:20:32,400 –> 00:20:35,120
آرایه numpy در ابتدا، بنابراین اجازه دهید
457
00:20:35,120 –> 00:20:35,600
گفتن
458
00:20:35,600 –> 00:20:38,960
a برابر numpy است
459
00:20:38,960 –> 00:20:42,000
امم یکبار از سایز پنج و بعد
460
00:20:42,000 –> 00:20:46,400
یک را چاپ کنید و اکنون می خواهید یک داشته باشید
461
00:20:46,400 –> 00:20:49,360
تانسور مشعل از یک آرایه ناتوان و سپس شما
462
00:20:49,360 –> 00:20:50,720
میتوان گفت
463
00:20:50,720 –> 00:20:54,400
b برابر مشعل و سپس
464
00:20:54,400 –> 00:20:57,919
از زیر خط numpy
465
00:20:57,919 –> 00:21:01,440
و سپس آرایه numpy را قرار دهید تا اکنون ما
466
00:21:01,440 –> 00:21:02,159
داشتن یک
467
00:21:02,159 –> 00:21:05,760
تانسور و
468
00:21:05,760 –> 00:21:09,039
این خواهد بله به طور پیش فرض این قرار خواهد داد
469
00:21:09,039 –> 00:21:11,840
در نوع داده float64
470
00:21:11,840 –> 00:21:14,159
البته می توانید آن را نیز مشخص کنید
471
00:21:14,159 –> 00:21:16,080
نوع داده در اینجا
472
00:21:16,080 –> 00:21:19,440
اگر نوع داده دیگری می خواهید um
473
00:21:19,440 –> 00:21:22,080
و حالا دوباره باید مراقب باشیم اگر
474
00:21:22,080 –> 00:21:23,039
ما اصلاح می کنیم
475
00:21:23,039 –> 00:21:26,559
یکی پس اگر برای مثال اصلاح کنیم
476
00:21:26,559 –> 00:21:30,320
آرایه numpy توسط um
477
00:21:30,320 –> 00:21:33,919
افزایش هر عنصر بنابراین اکنون چاپ کنید
478
00:21:33,919 –> 00:21:34,400
ما
479
00:21:34,400 –> 00:21:37,440
آرایه numpy بنابراین ما آن را می بینیم
480
00:21:37,440 –> 00:21:40,480
هر مقدار را افزایش داد و اگر ما
481
00:21:40,480 –> 00:21:41,360
چاپ
482
00:21:41,360 –> 00:21:45,039
b سپس می بینیم که تانسور ما دریافت کرده است
483
00:21:45,039 –> 00:21:46,480
اصلاح شده نیز
484
00:21:46,480 –> 00:21:50,240
پس دوباره مراقب باش
485
00:21:50,240 –> 00:21:52,640
بله، اما این فقط در صورتی اتفاق می افتد که شما
486
00:21:52,640 –> 00:21:54,480
تانسور روی
487
00:21:54,480 –> 00:21:57,360
gpu و این یکی از چیزهایی است که ما داریم
488
00:21:57,360 –> 00:21:58,880
صحبت نکرده اند
489
00:21:58,880 –> 00:22:02,159
با این حال زیرا شما نیز می توانید
490
00:22:02,159 –> 00:22:05,760
عملیات را روی gpu انجام دهید اما فقط اگر
491
00:22:05,760 –> 00:22:08,159
این در دسترس است بنابراین اگر شما نیز دارید
492
00:22:08,159 –> 00:22:10,799
کیت ابزار cuda را نصب کرد
493
00:22:10,799 –> 00:22:14,559
و شما می توانید آن را با گفتن بررسی کنید
494
00:22:14,559 –> 00:22:18,159
اگر مشعل نقطه جدا
495
00:22:18,159 –> 00:22:22,640
نقطه در دسترس است
496
00:22:22,640 –> 00:22:26,000
و بنابراین در مورد من در مک این کار را می کند
497
00:22:26,000 –> 00:22:29,200
و این غلط اما
498
00:22:29,200 –> 00:22:31,600
برای مثال اگر روی ویندوز و
499
00:22:31,600 –> 00:22:34,159
شما دو در دسترس دارید
500
00:22:34,159 –> 00:22:38,000
سپس می توانید دستگاه cuda خود را توسط
501
00:22:38,000 –> 00:22:41,919
گفتن دستگاه مساوی مشعل است
502
00:22:41,919 –> 00:22:45,760
دستگاه نقطه و سپس بگویید
503
00:22:45,760 –> 00:22:49,280
cuda اینجا و سپس اگر می خواهید ایجاد کنید
504
00:22:49,280 –> 00:22:53,600
یک تانسور روی gpu می توانید این کار را انجام دهید
505
00:22:53,600 –> 00:22:56,880
با گفتن x برابر است
506
00:22:56,880 –> 00:23:01,760
یکبار نقطه مشعل
507
00:23:02,080 –> 00:23:05,280
و سپس
508
00:23:05,280 –> 00:23:08,320
به عنوان مثال اندازه آن را بدهید و سپس
509
00:23:08,320 –> 00:23:08,880
گفتن
510
00:23:08,880 –> 00:23:14,000
دستگاه برابر است با دستگاه
511
00:23:14,000 –> 00:23:17,679
بنابراین این یک تانسور ایجاد می کند و آن را قرار می دهد
512
00:23:17,679 –> 00:23:18,240
بر روی
513
00:23:18,240 –> 00:23:22,159
gpu یا ابتدا می توانید ایجاد کنید
514
00:23:22,159 –> 00:23:25,200
خیلی ساده با گفتن
515
00:23:25,200 –> 00:23:28,799
y برابر است با یک نقطه مشعل
516
00:23:28,799 –> 00:23:31,919
از سایز پنج و سپس آن را به
517
00:23:31,919 –> 00:23:34,720
دستگاه شما به gpu شما
518
00:23:34,720 –> 00:23:37,919
با گفتن y برابر است
519
00:23:37,919 –> 00:23:41,039
y نقطه 2 و سپس
520
00:23:41,039 –> 00:23:43,279
دستگاه بنابراین این آن را به
521
00:23:43,279 –> 00:23:44,320
دستگاه
522
00:23:44,320 –> 00:23:46,400
و حالا اگر عملی برای
523
00:23:46,400 –> 00:23:47,679
مثال ج
524
00:23:47,679 –> 00:23:50,960
برابر x بعلاوه y خواهد بود
525
00:23:50,960 –> 00:23:52,960
بر روی gpu انجام می شود
526
00:23:52,960 –> 00:23:57,200
و ممکن است خیلی سریعتر باشد
527
00:23:57,200 –> 00:23:59,840
آره ولی الان باید مواظب باشی
528
00:23:59,840 –> 00:24:00,320
زیرا
529
00:24:00,320 –> 00:24:03,679
حالا اگر c dot numpy را صدا کنید
530
00:24:03,679 –> 00:24:06,640
سپس این یک خطا برمی گرداند زیرا
531
00:24:06,640 –> 00:24:08,000
ام
532
00:24:08,000 –> 00:24:11,760
Numpy فقط می تواند تانسورهای cpu را مدیریت کند تا شما
533
00:24:11,760 –> 00:24:13,679
نمی تواند a را تبدیل کند
534
00:24:13,679 –> 00:24:16,960
تانسور gpu به numpy برمی گردد
535
00:24:16,960 –> 00:24:20,240
بنابراین دوباره باید آن را جابجا کنیم
536
00:24:20,240 –> 00:24:24,640
به cpu برگردیم تا بتوانیم این کار را انجام دهیم
537
00:24:24,640 –> 00:24:25,760
گفتن
538
00:24:25,760 –> 00:24:30,080
c برابر c نقطه است
539
00:24:30,080 –> 00:24:34,159
2 و سپس به عنوان یک cpu رشته ای
540
00:24:34,159 –> 00:24:38,240
پس حالا دوباره روی cpu خواهد بود
541
00:24:38,240 –> 00:24:41,840
بنابراین بله این همه چیز اساسی است
542
00:24:41,840 –> 00:24:45,360
ام عملیاتی که می خواستم
543
00:24:45,360 –> 00:24:48,799
به شما نشان می دهد و یک چیز دیگر
544
00:24:48,799 –> 00:24:54,080
بسیاری از مواقع که یک تانسور ایجاد می شود
545
00:24:54,080 –> 00:24:57,600
به عنوان مثال نقطه مشعل ام
546
00:24:57,600 –> 00:25:01,679
یک بار از سایز پنج و سپس چندین بار
547
00:25:01,679 –> 00:25:02,720
شما می بینید
548
00:25:02,720 –> 00:25:05,840
استدلال نیاز دارد
549
00:25:05,840 –> 00:25:08,960
grad برابر است درست است
550
00:25:08,960 –> 00:25:12,559
به طور پیش فرض این نادرست است و اکنون اگر ما
551
00:25:12,559 –> 00:25:15,279
این را چاپ کنید
552
00:25:15,279 –> 00:25:17,919
سپس ما اینجا را در تانسور خود نیز خواهیم دید
553
00:25:17,919 –> 00:25:18,960
که چاپ خواهد شد
554
00:25:18,960 –> 00:25:22,320
نیاز به درجه برابر درست است
555
00:25:22,320 –> 00:25:25,279
بنابراین بارها در کد خواهید دید
556
00:25:25,279 –> 00:25:26,080
این
557
00:25:26,080 –> 00:25:28,400
و این به مشعل پی می گوید که این کار را خواهد کرد
558
00:25:28,400 –> 00:25:30,960
برای این کار باید گرادیان ها را محاسبه کرد
559
00:25:30,960 –> 00:25:34,640
تانسور بعدی در مراحل بهینه سازی شما
560
00:25:34,640 –> 00:25:37,679
بنابراین هر زمان که این بدان معنی است که هر زمان که شما
561
00:25:37,679 –> 00:25:39,919
یک متغیر در مدل خود دارید که شما
562
00:25:39,919 –> 00:25:40,840
خواستن
563
00:25:40,840 –> 00:25:44,240
بهینه سازی کنید سپس به گرادیان ها نیاز دارید
564
00:25:44,240 –> 00:25:46,320
باید مشخص کنید
565
00:25:46,320 –> 00:25:49,520
نیاز به درجه برابر درست است
566
00:25:49,520 –> 00:25:51,919
اما بله، در این مورد بیشتر صحبت خواهیم کرد
567
00:25:51,919 –> 00:25:53,600
آموزش بعدی
568
00:25:53,600 –> 00:25:56,000
بنابراین امیدوارم از این آموزش لذت برده باشید و
569
00:25:56,000 –> 00:25:57,919
اگر آن را دوست داشتید لطفا مشترک شوید
570
00:25:57,919 –> 00:25:59,679
کانال و دفعه بعد میبینمت
571
00:25:59,679 –> 00:26:02,000
خدا حافظ
572
00:26:07,120 –> 00:26:09,520
سلام به همه به مشعل پای جدید خوش آمدید
573
00:26:09,520 –> 00:26:10,320
آموزش
574
00:26:10,320 –> 00:26:12,080
امروز با اتوگراد آشنا می شویم
575
00:26:12,080 –> 00:26:13,919
بسته بندی در مشعل پی و چگونه می توانیم
576
00:26:13,919 –> 00:26:16,000
شیب ها را با آن محاسبه کنید
577
00:26:16,000 –> 00:26:18,159
گرادیان ها برای مدل ما ضروری هستند
578
00:26:18,159 –> 00:26:20,400
بهینه سازی بنابراین این بسیار مهم است
579
00:26:20,400 –> 00:26:22,720
مفهومی که باید بفهمیم
580
00:26:22,720 –> 00:26:24,960
خوشبختانه pi touch اتوگراد را فراهم می کند
581
00:26:24,960 –> 00:26:26,400
بسته ای که می تواند همه کارها را انجام دهد
582
00:26:26,400 –> 00:26:28,159
محاسبات برای ما
583
00:26:28,159 –> 00:26:31,039
ما فقط باید بدانیم چگونه از آن استفاده کنیم
584
00:26:31,039 –> 00:26:32,880
بیایید شروع کنیم تا ببینیم چگونه می توانیم محاسبه کنیم
585
00:26:32,880 –> 00:26:33,919
گرادیان در پی
586
00:26:33,919 –> 00:26:37,360
شارژ بنابراین اول از همه ما مشعل وارد می کنیم
587
00:26:37,360 –> 00:26:40,720
البته و حالا بیایید یک تانسور ایجاد کنیم
588
00:26:40,720 –> 00:26:44,320
x برابر با نقطه مشعل است
589
00:26:44,320 –> 00:26:47,840
رند n سایز 3 و
590
00:26:47,840 –> 00:26:50,960
حالا بیایید x خود را چاپ کنیم بنابراین این یک است
591
00:26:50,960 –> 00:26:54,240
تانسور با سه مقدار پس سه تصادفی
592
00:26:54,240 –> 00:26:55,679
ارزش های
593
00:26:55,679 –> 00:26:58,720
و حالا بیایید بگوییم بعداً می خواهیم
594
00:26:58,720 –> 00:27:00,480
شیب ها را محاسبه کنید
595
00:27:00,480 –> 00:27:04,080
برخی از تابع ها با توجه به x
596
00:27:04,080 –> 00:27:06,720
پس کاری که باید انجام دهیم این است که باید
597
00:27:06,720 –> 00:27:09,039
استدلال را مشخص کنید
598
00:27:09,039 –> 00:27:12,240
نیاز به درجه برابر درست است
599
00:27:12,240 –> 00:27:15,520
بنابراین به طور پیش فرض این نادرست است و اکنون اگر
600
00:27:15,520 –> 00:27:17,200
ما دوباره این را اجرا می کنیم
601
00:27:17,200 –> 00:27:20,320
سپس ما آن را نیز لمس pi می بینیم
602
00:27:20,320 –> 00:27:24,159
آهنگ هایی که به گرادیان نیاز دارد
603
00:27:24,159 –> 00:27:27,919
و در حال حاضر هر زمان که ما عملیات با
604
00:27:27,919 –> 00:27:29,200
این تانسور
605
00:27:29,200 –> 00:27:31,640
پی مشعل به اصطلاح ایجاد خواهد کرد
606
00:27:31,640 –> 00:27:33,440
نمودار محاسباتی برای
607
00:27:33,440 –> 00:27:37,360
بنابراین اکنون فرض کنید که عملیات را انجام می دهیم
608
00:27:37,360 –> 00:27:40,640
x به علاوه دو و ما این را در یک ذخیره می کنیم
609
00:27:40,640 –> 00:27:41,279
خروجی
610
00:27:41,279 –> 00:27:44,640
پس می گوییم y برابر x به اضافه دو است
611
00:27:44,640 –> 00:27:46,960
سپس این محاسبات را ایجاد می کند
612
00:27:46,960 –> 00:27:48,240
نمودار
613
00:27:48,240 –> 00:27:52,080
و این به نظر می رسد مانند این برای هر یک
614
00:27:52,080 –> 00:27:55,919
ما برای هر عملیات یک گره داریم
615
00:27:55,919 –> 00:27:59,919
ما یک گره با ورودی و یک خروجی داریم
616
00:27:59,919 –> 00:28:03,279
بنابراین در اینجا عملیات مزیت است
617
00:28:03,279 –> 00:28:04,480
علاوه بر این
618
00:28:04,480 –> 00:28:07,760
و ورودی های ما x و 2 هستند
619
00:28:07,760 –> 00:28:11,279
و خروجی y است
620
00:28:11,279 –> 00:28:13,039
و حالا با این نمودار و
621
00:28:13,039 –> 00:28:14,320
تکنیکی که نامیده می شود
622
00:28:14,320 –> 00:28:17,279
پس از انتشار ما می توانیم محاسبه کنیم
623
00:28:17,279 –> 00:28:18,880
شیب ها
624
00:28:18,880 –> 00:28:20,720
من مفهوم پشت را توضیح خواهم داد
625
00:28:20,720 –> 00:28:23,200
انتشار به تفصیل در ویدیوی بعدی
626
00:28:23,200 –> 00:28:25,279
اما در حال حاضر خوب است که فقط
627
00:28:25,279 –> 00:28:29,840
بدانیم که ما یا چگونه می توانیم از آن استفاده کنیم
628
00:28:29,840 –> 00:28:33,039
ابتدا یک پاس رو به جلو انجام می دهیم، بنابراین ما اینجا هستیم
629
00:28:33,039 –> 00:28:34,799
این عملیات را اعمال کنید
630
00:28:34,799 –> 00:28:37,679
و در پاس رو به جلو محاسبه می کنیم
631
00:28:37,679 –> 00:28:40,000
خروجی y
632
00:28:40,000 –> 00:28:42,960
و از آنجایی که ما مشخص کردیم که نیاز دارد
633
00:28:42,960 –> 00:28:44,640
گرادیان
634
00:28:44,640 –> 00:28:47,520
سپس pytorch به طور خودکار ایجاد می کند
635
00:28:47,520 –> 00:28:48,240
و ذخیره کنید
636
00:28:48,240 –> 00:28:52,000
یک تابع برای ما و این تابع است
637
00:28:52,000 –> 00:28:54,559
سپس در پس انتشار استفاده می شود
638
00:28:54,559 –> 00:28:58,799
و برای بدست آوردن شیب ها در اینجا y
639
00:28:58,799 –> 00:29:02,960
دارای ویژگی grad underscore fn است
640
00:29:02,960 –> 00:29:05,279
بنابراین این به یک گرادیان اشاره خواهد کرد
641
00:29:05,279 –> 00:29:06,159
عملکرد
642
00:29:06,159 –> 00:29:10,080
و در این مورد آن را در عقب نامیده می شود
643
00:29:10,080 –> 00:29:12,720
و با این تابع می توانیم سپس
644
00:29:12,720 –> 00:29:14,720
شیب ها را محاسبه کنید
645
00:29:14,720 –> 00:29:17,919
در مسیر به اصطلاح عقب پس این
646
00:29:17,919 –> 00:29:20,000
گرادیان را محاسبه خواهد کرد
647
00:29:20,000 –> 00:29:23,440
y با توجه به x در این مورد
648
00:29:23,440 –> 00:29:27,039
پس حالا اگر y را چاپ کنیم
649
00:29:27,039 –> 00:29:30,080
سپس دقیقاً این را خواهیم دید
650
00:29:30,080 –> 00:29:33,840
ویژگی graph fn و این اینجاست
651
00:29:33,840 –> 00:29:37,039
یک تابع در عقب بنابراین زیرا در اینجا
652
00:29:37,039 –> 00:29:37,919
ما
653
00:29:37,919 –> 00:29:41,279
عملیات یک مزیت بود
654
00:29:41,279 –> 00:29:44,320
و سپس ام ما
655
00:29:44,320 –> 00:29:46,720
سپس انتشار برگشتی را بعدا انجام می دهیم
656
00:29:46,720 –> 00:29:47,760
به همین دلیل به آن می گویند
657
00:29:47,760 –> 00:29:51,520
به عقب اضافه کنید و بیایید کارهای بیشتری انجام دهیم
658
00:29:51,520 –> 00:29:52,480
عملیات با
659
00:29:52,480 –> 00:29:56,159
تانسورهای ما پس بیایید بگوییم که داریم
660
00:29:56,159 –> 00:29:59,200
c برابر y برابر است
661
00:29:59,200 –> 00:30:03,200
y ضربدر دو برای مثال این تانسور
662
00:30:03,200 –> 00:30:03,600
سپس
663
00:30:03,600 –> 00:30:06,960
همچنین دارای این ویژگی عملکرد عالی است
664
00:30:06,960 –> 00:30:07,600
پس اینجا
665
00:30:07,600 –> 00:30:11,279
grad fn برابر mul به عقب است
666
00:30:11,279 –> 00:30:13,240
زیرا در اینجا عملیات ما یک است
667
00:30:13,240 –> 00:30:14,960
ضرب
668
00:30:14,960 –> 00:30:18,480
و به عنوان مثال می توان گفت c برابر است با c
669
00:30:18,480 –> 00:30:20,880
dot mean تا بتوانیم یک میانگین اعمال کنیم
670
00:30:20,880 –> 00:30:22,080
عمل
671
00:30:22,080 –> 00:30:24,640
و سپس تابع گرادیان ما است
672
00:30:24,640 –> 00:30:26,320
به معنای عقب مانده
673
00:30:26,320 –> 00:30:28,960
و حالا وقتی می خواهیم محاسبه کنیم
674
00:30:28,960 –> 00:30:30,080
شیب ها
675
00:30:30,080 –> 00:30:32,799
تنها کاری که باید انجام دهیم این است که
676
00:30:32,799 –> 00:30:33,200
زنگ زدن
677
00:30:33,200 –> 00:30:36,240
c نقطه به عقب
678
00:30:36,240 –> 00:30:38,799
پس این شیب را محاسبه می کند
679
00:30:38,799 –> 00:30:39,679
از ج
680
00:30:39,679 –> 00:30:42,799
با توجه به x بنابراین x
681
00:30:42,799 –> 00:30:45,919
سپس دارای یک گرادیان درجه نقطه است
682
00:30:45,919 –> 00:30:48,640
ویژگی جایی که گرادیان ها ذخیره می شوند
683
00:30:48,640 –> 00:30:50,880
بنابراین ما می توانیم این را چاپ کنیم
684
00:30:50,880 –> 00:30:54,080
و حالا اگر این را اجرا کنید، ما آن را می بینیم
685
00:30:54,080 –> 00:30:56,320
ما در اینجا شیب ها را داریم
686
00:30:56,320 –> 00:30:57,440
تانسور
687
00:30:57,440 –> 00:31:00,559
پس این تنها کاری است که باید انجام دهیم
688
00:31:00,559 –> 00:31:02,960
و حالا بیایید ببینیم چه اتفاقی می افتد
689
00:31:02,960 –> 00:31:06,320
زمانی که ما این استدلال را مشخص نمی کنیم
690
00:31:06,320 –> 00:31:10,480
بنابراین اول از همه اگر تانسورهای خود را چاپ کنیم
691
00:31:10,480 –> 00:31:13,440
سپس می بینیم که آنها این را ندارند
692
00:31:13,440 –> 00:31:13,919
درجه
693
00:31:13,919 –> 00:31:17,120
ویژگی تابع و اگر بخواهیم فراخوانی کنیم
694
00:31:17,120 –> 00:31:18,000
عقب مانده
695
00:31:18,000 –> 00:31:21,039
تابع و سپس این یک خطا ایجاد می کند
696
00:31:21,039 –> 00:31:22,000
بنابراین می گوید
697
00:31:22,000 –> 00:31:24,720
تانسورها به درجه نیاز ندارند و این کار را می کنند
698
00:31:24,720 –> 00:31:25,919
مدرک را ندارند
699
00:31:25,919 –> 00:31:29,200
عملکرد بنابراین به یاد داشته باشید که ما باید
700
00:31:29,200 –> 00:31:30,159
مشخص نمودن
701
00:31:30,159 –> 00:31:34,720
این استدلال و سپس آن کار خواهد کرد
702
00:31:34,720 –> 00:31:37,679
و یک چیز که ما نیز باید بدانیم
703
00:31:37,679 –> 00:31:38,080
است
704
00:31:38,080 –> 00:31:41,360
بنابراین در پس زمینه این اساسا چیست
705
00:31:41,360 –> 00:31:41,760
میکند
706
00:31:41,760 –> 00:31:45,039
این یک به اصطلاح بردار ایجاد می کند
707
00:31:45,039 –> 00:31:48,159
محصول jacobian برای دریافت گرادیان ها
708
00:31:48,159 –> 00:31:51,440
بنابراین این شبیه این خواهد بود من نمی خواهم
709
00:31:51,440 –> 00:31:52,480
برو به
710
00:31:52,480 –> 00:31:55,519
جزئیات ریاضی اما باید بدانیم
711
00:31:55,519 –> 00:31:58,799
که ماتریس ژاکوبین را داریم
712
00:31:58,799 –> 00:32:01,679
با مشتقات جزئی و سپس ما
713
00:32:01,679 –> 00:32:03,039
این را با ضرب کنید
714
00:32:03,039 –> 00:32:06,159
یک بردار گرادیان و سپس
715
00:32:06,159 –> 00:32:08,960
فینال را به فینال خواهیم برد
716
00:32:08,960 –> 00:32:11,440
شیب هایی که به آنها علاقه مندیم
717
00:32:11,440 –> 00:32:14,000
بنابراین به این قانون زنجیره ای نیز می گویند
718
00:32:14,000 –> 00:32:14,720
و من خواهم
719
00:32:14,720 –> 00:32:16,880
همچنین این را با جزئیات بیشتر در بخش توضیح دهید
720
00:32:16,880 –> 00:32:18,320
ویدیو بعدی
721
00:32:18,320 –> 00:32:21,360
اما بله، ما باید بدانیم که در واقع ما
722
00:32:21,360 –> 00:32:23,600
باید آن را در a ضرب کرد
723
00:32:23,600 –> 00:32:26,960
بردار بنابراین در این مورد از
724
00:32:26,960 –> 00:32:30,640
c ما یک مقدار اسکالر است که ما مجبور نیستیم آن را انجام دهیم
725
00:32:30,640 –> 00:32:31,840
بگذار
726
00:32:31,840 –> 00:32:34,880
امم لازم نیست در اینجا از استدلال استفاده کنید
727
00:32:34,880 –> 00:32:37,120
برای عملکرد عقب ما
728
00:32:37,120 –> 00:32:41,440
بنابراین c ما در اینجا فقط یک مقدار دارد پس این
729
00:32:41,440 –> 00:32:42,640
خوب است
730
00:32:42,640 –> 00:32:45,519
اما بیایید بگوییم که ما میانگین را اعمال نکردیم
731
00:32:45,519 –> 00:32:46,720
عمل
732
00:32:46,720 –> 00:32:50,080
بنابراین در حال حاضر سی ما
733
00:32:50,080 –> 00:32:52,960
دارای بیش از یک ارزش در آن است بنابراین آن را
734
00:32:52,960 –> 00:32:53,519
همچنین
735
00:32:53,519 –> 00:32:56,799
سایز یک در سه و حالا
736
00:32:56,799 –> 00:32:58,880
هنگامی که ما سعی می کنیم به عقب زنگ بزنیم
737
00:32:58,880 –> 00:33:00,720
اینگونه عمل کند
738
00:33:00,720 –> 00:33:03,760
سپس این یک خطای بسیار بزرگ ایجاد می کند
739
00:33:03,760 –> 00:33:06,240
می تواند به طور ضمنی فقط برای ایجاد شود
740
00:33:06,240 –> 00:33:06,799
اسکالر
741
00:33:06,799 –> 00:33:10,960
خروجی بنابراین در این مورد ما باید
742
00:33:10,960 –> 00:33:13,679
آرگومان گرادیان را به آن بدهید تا داریم
743
00:33:13,679 –> 00:33:17,519
برای ایجاد یک بردار با همان اندازه
744
00:33:17,519 –> 00:33:20,640
بنابراین بیایید بگوییم v
745
00:33:20,640 –> 00:33:26,080
برابر است با تانسور نقطه مشعل و در اینجا قرار می دهیم
746
00:33:26,080 –> 00:33:29,600
به عنوان مثال نقطه یک
747
00:33:29,600 –> 00:33:33,200
یک نقطه صفر و نقطه
748
00:33:33,200 –> 00:33:37,120
صفر صفر یک و به آن a می دهیم
749
00:33:37,120 –> 00:33:40,320
نوع داده نقطه مشعل
750
00:33:40,320 –> 00:33:44,480
float 32 و سپس باید این را پاس کنیم
751
00:33:44,480 –> 00:33:47,600
بردار تابع عقب ما و
752
00:33:47,600 –> 00:33:51,039
حالا دوباره کار خواهد کرد، پس حالا اگر اجرا کنیم
753
00:33:51,039 –> 00:33:52,159
این
754
00:33:52,159 –> 00:33:55,039
پس این اشکالی ندارد پس باید بدانیم
755
00:33:55,039 –> 00:33:57,039
در پس زمینه این یک چک است
756
00:33:57,039 –> 00:34:00,559
یک محصول ژاکوبین وکتور و
757
00:34:00,559 –> 00:34:03,200
بسیاری از مواقع آخرین عمل است
758
00:34:03,200 –> 00:34:04,720
برخی از عملیات که خواهد شد
759
00:34:04,720 –> 00:34:07,279
یک مقدار اسکالر ایجاد کنید تا این همان باشد
760
00:34:07,279 –> 00:34:09,440
خوبه که بدون
761
00:34:09,440 –> 00:34:10,320
بحث و جدل
762
00:34:10,320 –> 00:34:12,960
اما اگر این یک اسکالر نیست، ما
763
00:34:12,960 –> 00:34:13,599
باید
764
00:34:13,599 –> 00:34:17,119
بردار را به آن بدهید
765
00:34:17,119 –> 00:34:20,800
و بله پس از آن چیز دیگری که ما
766
00:34:20,800 –> 00:34:24,639
باید بدانیم چگونه می توانیم از ما جلوگیری کنیم
767
00:34:24,639 –> 00:34:28,399
پی مشعل از ردیابی تاریخ و
768
00:34:28,399 –> 00:34:32,000
محاسبه این ویژگی grad fn
769
00:34:32,000 –> 00:34:34,719
بنابراین برای مثال گاهی اوقات در طول ما
770
00:34:34,719 –> 00:34:35,760
حلقه آموزشی
771
00:34:35,760 –> 00:34:38,560
زمانی که می خواهیم وزن خود را به روز کنیم
772
00:34:38,560 –> 00:34:39,520
این عملیات
773
00:34:39,520 –> 00:34:41,679
نباید بخشی از گرادیان باشد
774
00:34:41,679 –> 00:34:43,119
محاسبه
775
00:34:43,119 –> 00:34:45,760
بنابراین در یکی از آموزش های بعدی خواهم گفت
776
00:34:45,760 –> 00:34:48,639
مثال ملموسی از نحوه اعمال ما ارائه دهید
777
00:34:48,639 –> 00:34:49,599
این
778
00:34:49,599 –> 00:34:52,639
بسته اتوکرات و سپس تبدیل خواهد شد
779
00:34:52,639 –> 00:34:54,000
واضح تر شاید
780
00:34:54,000 –> 00:34:56,639
اما آره در حال حاضر باید بدانیم چگونه هستیم
781
00:34:56,639 –> 00:34:57,280
می توان
782
00:34:57,280 –> 00:35:00,800
از ردیابی آن جلوگیری کنید
783
00:35:00,800 –> 00:35:01,680
شیب ها
784
00:35:01,680 –> 00:35:04,800
و ما سه گزینه برای این کار داریم
785
00:35:04,800 –> 00:35:05,920
اولی
786
00:35:05,920 –> 00:35:10,880
فراخوانی نیازمندی ها است
787
00:35:10,880 –> 00:35:14,960
تابع زیر خط را grad کنید و آن را روی آن تنظیم کنید
788
00:35:14,960 –> 00:35:16,320
نادرست
789
00:35:16,320 –> 00:35:19,520
گزینه دوم فراخوانی x dot است
790
00:35:19,520 –> 00:35:22,880
جدا کنید تا تانسور جدیدی ایجاد شود
791
00:35:22,880 –> 00:35:25,599
که نیازی به گرادیان و
792
00:35:25,599 –> 00:35:26,320
دومین
793
00:35:26,320 –> 00:35:30,160
گزینه این است که این را در عرض بپیچید
794
00:35:30,160 –> 00:35:34,000
بیانیه بنابراین با نقطه مشعل
795
00:35:34,000 –> 00:35:36,800
بدون درجه و سپس ما می توانیم کار خود را انجام دهیم
796
00:35:36,800 –> 00:35:39,040
عملیات
797
00:35:39,040 –> 00:35:42,640
پس آره بیایید هر یک از اینها را امتحان کنیم
798
00:35:42,640 –> 00:35:46,320
بنابراین ابتدا می توانیم بگوییم
799
00:35:46,320 –> 00:35:49,440
x نقطه نیاز دارد
800
00:35:49,440 –> 00:35:53,040
grad underscore کنید و این را روی false قرار دهید
801
00:35:53,040 –> 00:35:55,920
بنابراین هر زمان که یک تابع دارای یک دنباله باشد
802
00:35:55,920 –> 00:35:57,280
زیر خط در پی
803
00:35:57,280 –> 00:35:59,040
مشعل پس از آن این بدان معنی است که آن را
804
00:35:59,040 –> 00:36:00,720
متغیر ما را اصلاح کنیم
805
00:36:00,720 –> 00:36:03,760
در جای خود پس اکنون اگر چاپ کنیم
806
00:36:03,760 –> 00:36:07,280
x سپس خواهیم دید که آن را
807
00:36:07,280 –> 00:36:10,640
این ویژگی grad را ندارد
808
00:36:10,640 –> 00:36:12,079
دیگر پس در حال حاضر این است
809
00:36:12,079 –> 00:36:15,280
false پس این اولین گزینه است
810
00:36:15,280 –> 00:36:18,960
و گزینه دوم تماس خواهد بود
811
00:36:18,960 –> 00:36:22,400
x جدا می شود پس می گوییم y برابر است
812
00:36:22,400 –> 00:36:25,839
x نقطه را جدا کنید تا یک نقطه جدید ایجاد کنید
813
00:36:25,839 –> 00:36:26,560
بردار
814
00:36:26,560 –> 00:36:29,280
با همان یا یک تانسور جدید با
815
00:36:29,280 –> 00:36:30,880
همان مقادیر
816
00:36:30,880 –> 00:36:33,359
اما نیازی به گرادیان ندارد
817
00:36:33,359 –> 00:36:34,560
در اینجا ما می بینیم
818
00:36:34,560 –> 00:36:37,359
که y ما مقادیر یکسانی دارد اما
819
00:36:37,359 –> 00:36:39,760
به گرادیان نیاز ندارد
820
00:36:39,760 –> 00:36:42,800
و آخرین گزینه این است که آن را در آن بپیچید
821
00:36:42,800 –> 00:36:46,160
مشعل در عرض با بیانیه
822
00:36:46,160 –> 00:36:49,440
با نقطه مشعل بدون درجه
823
00:36:49,440 –> 00:36:51,680
و سپس ما می توانیم برخی از عملیات را برای
824
00:36:51,680 –> 00:36:53,119
مثال y
825
00:36:53,119 –> 00:36:56,480
برابر x به علاوه
826
00:36:56,480 –> 00:36:59,680
2 و حالا اگر ما را چاپ کنیم
827
00:36:59,680 –> 00:37:03,839
y سپس می بینیم که آن را ندارد
828
00:37:03,839 –> 00:37:06,880
ویژگی تابع گرادیان در اینجا
829
00:37:06,880 –> 00:37:10,160
پس بله اگر از این استفاده نکنیم
830
00:37:10,160 –> 00:37:13,680
و سپس آن را به این صورت اجرا می کند
831
00:37:13,680 –> 00:37:16,720
y ما تابع گرادیان دارد بنابراین اینها
832
00:37:16,720 –> 00:37:19,280
سه راهی است که چگونه می توانیم
833
00:37:19,280 –> 00:37:23,119
از ایجاد این um pi touch جلوگیری کنید
834
00:37:23,119 –> 00:37:25,040
توابع گرادیان و ردیابی
835
00:37:25,040 –> 00:37:26,000
تاریخ
836
00:37:26,000 –> 00:37:29,440
در نمودار محاسباتی ما و
837
00:37:29,440 –> 00:37:32,400
حالا یک چیز بسیار مهم دیگر که
838
00:37:32,400 –> 00:37:33,040
ما باید
839
00:37:33,040 –> 00:37:35,839
همچنین می دانیم که هر زمان که ما تماس بگیرید
840
00:37:35,839 –> 00:37:37,440
عملکرد عقب
841
00:37:37,440 –> 00:37:39,839
سپس گرادیان برای این تانسور خواهد شد
842
00:37:39,839 –> 00:37:41,280
انباشته شود
843
00:37:41,280 –> 00:37:44,400
به صفت درجه گرید نقطه تا آنها
844
00:37:44,400 –> 00:37:45,680
ارزش ها خواهد بود
845
00:37:45,680 –> 00:37:49,040
خلاصه پس اینجا ما باید خیلی باشیم
846
00:37:49,040 –> 00:37:50,320
مراقب باشید
847
00:37:50,320 –> 00:37:53,920
پس بیایید آموزش ساختگی ایجاد کنیم
848
00:37:53,920 –> 00:37:55,599
مثال
849
00:37:55,599 –> 00:37:58,640
جایی که ما برخی از آنها دارای برخی از وزن بنابراین
850
00:37:58,640 –> 00:37:59,920
این یک است
851
00:37:59,920 –> 00:38:03,680
یک تانسور با آنهایی که در آن اندازه هستند اجازه دهید
852
00:38:03,680 –> 00:38:04,640
گفتن
853
00:38:04,640 –> 00:38:07,839
چهار و آنها به گرادیان نیاز دارند
854
00:38:07,839 –> 00:38:11,119
بنابراین نیاز به بررسی برابر با true و now
855
00:38:11,119 –> 00:38:13,440
فرض کنید یک حلقه آموزشی داریم
856
00:38:13,440 –> 00:38:16,880
جایی که می گوییم برای دوران در
857
00:38:16,880 –> 00:38:20,160
محدوده و ابتدا اجازه دهید فقط انجام دهیم
858
00:38:20,160 –> 00:38:23,680
یک تکرار و در اینجا ما انجام می دهیم بیایید بگوییم
859
00:38:23,680 –> 00:38:27,280
خروجی مدل
860
00:38:27,280 –> 00:38:31,040
مساوی است
861
00:38:31,040 –> 00:38:34,240
وزن 3 نقطه
862
00:38:34,240 –> 00:38:37,680
جمع پس این فقط یک عملیات ساختگی است
863
00:38:37,680 –> 00:38:40,720
که برخی از خروجی های مدل را شبیه سازی می کند
864
00:38:40,720 –> 00:38:42,640
و سپس می خواهیم مقدار را محاسبه کنیم
865
00:38:42,640 –> 00:38:44,400
گرادیان پس ما می گوییم
866
00:38:44,400 –> 00:38:48,240
نقطه خروجی مدل به عقب
867
00:38:48,240 –> 00:38:51,280
و اکنون گرادیان را داریم
868
00:38:51,280 –> 00:38:54,960
بنابراین می توانیم وزن ها را نقطه بنامیم
869
00:38:54,960 –> 00:38:58,839
grad کنید و این را چاپ کنید
870
00:38:58,839 –> 00:39:01,839
ام
871
00:39:03,280 –> 00:39:06,880
بنابراین شیب های ما در اینجا هستند
872
00:39:06,880 –> 00:39:09,760
سه تا تانسور پر شود
873
00:39:09,760 –> 00:39:10,880
سه نفر
874
00:39:10,880 –> 00:39:14,320
و حالا اگر تکرار دیگری انجام دهیم
875
00:39:14,320 –> 00:39:17,520
بنابراین اگر بگوییم دو تکرار داریم
876
00:39:17,520 –> 00:39:21,200
سپس دومین تماس معکوس دوباره انجام خواهد شد
877
00:39:21,200 –> 00:39:24,079
مقادیر را جمع آوری کرده و بنویسید
878
00:39:24,079 –> 00:39:24,960
به درجه
879
00:39:24,960 –> 00:39:28,240
صفت بنابراین در حال حاضر ما
880
00:39:28,240 –> 00:39:32,480
grabs دارای شش ها در آن است و حالا اگر یک را انجام دهیم
881
00:39:32,480 –> 00:39:36,240
تکرار سوم پس از آن نه در آن است
882
00:39:36,240 –> 00:39:37,839
بنابراین همه ارزش ها هستند
883
00:39:37,839 –> 00:39:40,800
خلاصه شد و حالا اوزان ما یا ما
884
00:39:40,800 –> 00:39:43,520
گرادیان ها به وضوح نادرست هستند
885
00:39:43,520 –> 00:39:47,440
بنابراین قبل از اینکه تکرار بعدی را انجام دهیم
886
00:39:47,440 –> 00:39:50,560
و مرحله بهینه سازی را باید انجام دهیم
887
00:39:50,560 –> 00:39:53,040
گرادیان ها را خالی کنید پس باید فراخوانی کنیم
888
00:39:53,040 –> 00:39:53,760
وزنه ها
889
00:39:53,760 –> 00:39:57,200
نقطه درجه نقطه صفر
890
00:39:57,200 –> 00:40:00,960
زیرخط و حالا اگر این را اجرا کنیم
891
00:40:00,960 –> 00:40:04,400
سپس شیب های ما دوباره درست است
892
00:40:04,400 –> 00:40:07,440
بنابراین این یکی از موارد بسیار مهم است
893
00:40:07,440 –> 00:40:09,760
چیزی که ما باید در طول زندگی خود بدانیم
894
00:40:09,760 –> 00:40:11,440
مراحل آموزش
895
00:40:11,440 –> 00:40:14,560
و بعداً با آن کار خواهیم کرد
896
00:40:14,560 –> 00:40:18,160
pytorch ساخته شده در بهینه ساز پس بیایید بگوییم
897
00:40:18,160 –> 00:40:18,800
ما یک
898
00:40:18,800 –> 00:40:22,400
بهینه ساز از بهینه سازی مشعل
899
00:40:22,400 –> 00:40:23,520
بسته بندی
900
00:40:23,520 –> 00:40:27,599
بنابراین نقطه مشعل نقطه بهینه
901
00:40:27,599 –> 00:40:31,520
sgd برای نزول گرادیان تصادفی
902
00:40:31,520 –> 00:40:34,640
که اوزان ما را به عنوان پارامتر و
903
00:40:34,640 –> 00:40:35,040
مقداری
904
00:40:35,040 –> 00:40:38,040
نرخ یادگیری و در حال حاضر با این
905
00:40:38,040 –> 00:40:39,280
بهینه ساز
906
00:40:39,280 –> 00:40:42,880
می توانیم تماس بگیریم یا یک بهینه سازی انجام دهیم
907
00:40:42,880 –> 00:40:46,079
مرحله و سپس قبل از انجام مرحله بعدی
908
00:40:46,079 –> 00:40:47,200
تکرار
909
00:40:47,200 –> 00:40:51,200
ما باید بهینه ساز optimizat را نقطه صدا کنیم
910
00:40:51,200 –> 00:40:52,000
صفر
911
00:40:52,000 –> 00:40:55,280
تابع grad که دقیقا انجام خواهد شد
912
00:40:55,280 –> 00:40:58,960
به همین ترتیب بله، در مورد آن صحبت خواهیم کرد
913
00:40:58,960 –> 00:41:00,000
بهینه سازها
914
00:41:00,000 –> 00:41:03,599
در برخی از آموزش های بعدی اما
915
00:41:03,599 –> 00:41:05,599
بله در حال حاضر چیزهایی که باید
916
00:41:05,599 –> 00:41:07,440
به یاد داشته باشید که
917
00:41:07,440 –> 00:41:09,280
هر زمان که بخواهیم محاسبه کنیم
918
00:41:09,280 –> 00:41:12,240
گرادیان ها باید مورد نیاز را مشخص کنیم
919
00:41:12,240 –> 00:41:13,280
scrat
920
00:41:13,280 –> 00:41:16,480
پارامتر و این را روی true قرار دهید سپس ما
921
00:41:16,480 –> 00:41:18,160
می تواند به سادگی
922
00:41:18,160 –> 00:41:21,200
شیب ها را با i’m محاسبه کنید
923
00:41:21,200 –> 00:41:24,800
فراخوانی تابع عقب و
924
00:41:24,800 –> 00:41:27,920
قبل از اینکه بخواهیم عملیات بعدی را انجام دهیم
925
00:41:27,920 –> 00:41:29,920
یا تکرار بعدی در ما
926
00:41:29,920 –> 00:41:31,680
مراحل بهینه سازی
927
00:41:31,680 –> 00:41:34,960
ما باید شیب هایمان را خالی کنیم
928
00:41:34,960 –> 00:41:38,079
باید صفر را صدا کنیم
929
00:41:38,079 –> 00:41:41,599
عملکرد دوباره و ما نیز باید بدانیم
930
00:41:41,599 –> 00:41:42,480
چگونه می توانیم
931
00:41:42,480 –> 00:41:45,359
جلوگیری از وجود برخی عملیات
932
00:41:45,359 –> 00:41:46,880
ردیابی شده در
933
00:41:46,880 –> 00:41:49,920
نمودار محاسباتی و این همه i
934
00:41:49,920 –> 00:41:51,599
می خواستم فعلا بهت نشون بدم
935
00:41:51,599 –> 00:41:54,560
با پکیج اتوگراد و امیدوارم شما
936
00:41:54,560 –> 00:41:55,280
آن را دوست داشت
937
00:41:55,280 –> 00:41:57,200
لطفا عضو کانال شوید و ببینید
938
00:41:57,200 –> 00:42:03,839
شما دفعه بعد خداحافظ
939
00:42:05,280 –> 00:42:07,599
سلام به همه به مشعل پای جدید خوش آمدید
940
00:42:07,599 –> 00:42:08,480
آموزش
941
00:42:08,480 –> 00:42:10,240
در این ویدیو قصد دارم در مورد آن توضیح دهم
942
00:42:10,240 –> 00:42:12,480
الگوریتم معروف پس انتشار و چگونگی
943
00:42:12,480 –> 00:42:14,880
می توانیم شیب ها را با آن محاسبه کنیم
944
00:42:14,880 –> 00:42:17,200
من مفاهیم لازم در این مورد را توضیح می دهم
945
00:42:17,200 –> 00:42:18,720
تکنیک و سپس من شما را راه می اندازم
946
00:42:18,720 –> 00:42:20,720
از طریق یک مثال عینی با برخی
947
00:42:20,720 –> 00:42:21,839
شماره
948
00:42:21,839 –> 00:42:24,000
و در پایان خواهیم دید که چقدر آسان است
949
00:42:24,000 –> 00:42:26,160
اعمال انتشار برگشتی در پی است
950
00:42:26,160 –> 00:42:29,200
مشعل پس بیایید شروع کنیم
951
00:42:29,200 –> 00:42:31,359
و اولین مفهومی که باید بدانیم این است
952
00:42:31,359 –> 00:42:32,640
قانون زنجیره ای
953
00:42:32,640 –> 00:42:35,680
بنابراین فرض کنید ما دو عملیات یا
954
00:42:35,680 –> 00:42:37,520
دو عملکرد
955
00:42:37,520 –> 00:42:40,400
بنابراین ابتدا ورودی x و سپس ما
956
00:42:40,400 –> 00:42:41,680
یک تابع اعمال کنید
957
00:42:41,680 –> 00:42:44,880
a و خروجی y بگیرید
958
00:42:44,880 –> 00:42:47,760
و سپس از این خروجی به عنوان ورودی استفاده می کنیم
959
00:42:47,760 –> 00:42:49,920
برای عملکرد دوم ما
960
00:42:49,920 –> 00:42:52,960
بنابراین تابع دوم b و سپس دریافت می کنیم
961
00:42:52,960 –> 00:42:54,480
خروجی نهایی
962
00:42:54,480 –> 00:42:58,240
c و اکنون می خواهیم کمینه کنیم
963
00:42:58,240 –> 00:43:02,079
c ما می خواهیم مشتق را بدانیم
964
00:43:02,079 –> 00:43:02,720
از ج
965
00:43:02,720 –> 00:43:05,200
با توجه به x ما در اینجا در
966
00:43:05,200 –> 00:43:06,560
شروع
967
00:43:06,560 –> 00:43:09,839
و ما می توانیم این کار را با استفاده از به اصطلاح انجام دهیم
968
00:43:09,839 –> 00:43:10,319
زنجیر
969
00:43:10,319 –> 00:43:13,280
قانون بنابراین برای این ما ابتدا محاسبه می کنیم
970
00:43:13,280 –> 00:43:15,040
مشتق
971
00:43:15,040 –> 00:43:18,560
از c نسبت به y و آن را ضرب کنید
972
00:43:18,560 –> 00:43:20,000
با مشتق از
973
00:43:20,000 –> 00:43:23,599
از y نسبت به x و سپس دریافت می کنیم
974
00:43:23,599 –> 00:43:24,800
آخرین
975
00:43:24,800 –> 00:43:28,800
مشتق ما می خواهیم بنابراین ابتدا در اینجا
976
00:43:28,800 –> 00:43:31,760
ما مشتق را در این محاسبه می کنیم
977
00:43:31,760 –> 00:43:33,200
موقعیت
978
00:43:33,200 –> 00:43:36,400
بنابراین مشتق این خروجی است
979
00:43:36,400 –> 00:43:39,920
با توجه به این ورودی و سپس اینجا
980
00:43:39,920 –> 00:43:41,359
مشتق از
981
00:43:41,359 –> 00:43:44,480
این خروجی با توجه به این ورودی
982
00:43:44,480 –> 00:43:46,560
و سپس آنها را با هم ضرب می کنیم و
983
00:43:46,560 –> 00:43:48,720
شیب نهایی مورد علاقه خود را دریافت کنید
984
00:43:48,720 –> 00:43:49,359
که در
985
00:43:49,359 –> 00:43:52,960
بنابراین این قانون زنجیره ای است و
986
00:43:52,960 –> 00:43:55,760
در حال حاضر مفهوم بعدی به اصطلاح است
987
00:43:55,760 –> 00:43:57,920
نمودار محاسباتی
988
00:43:57,920 –> 00:44:00,640
بنابراین برای هر عملیاتی که با 10 خود انجام می دهیم
989
00:44:00,640 –> 00:44:01,760
منبع
990
00:44:01,760 –> 00:44:04,560
مشعل pi یک نمودار برای ما ایجاد می کند
991
00:44:04,560 –> 00:44:06,079
جایی که در هر گره
992
00:44:06,079 –> 00:44:09,280
ما یک عملیات یا یک تابع را اعمال می کنیم
993
00:44:09,280 –> 00:44:12,480
با چند ورودی و سپس یک خروجی
994
00:44:12,480 –> 00:44:15,839
بنابراین در اینجا در این مورد در این مثال
995
00:44:15,839 –> 00:44:18,640
ما از عملیات ضرب استفاده می کنیم بنابراین ما
996
00:44:18,640 –> 00:44:19,520
تکثیر کردن
997
00:44:19,520 –> 00:44:23,280
x و y و سپس c را بدست آورید
998
00:44:23,280 –> 00:44:25,920
و اکنون در این یادداشت ها می توانیم محاسبه کنیم
999
00:44:25,920 –> 00:44:26,800
باصطلاح
1000
00:44:26,800 –> 00:44:29,440
شیب های محلی و ما می توانیم از آنها استفاده کنیم
1001
00:44:29,440 –> 00:44:30,160
بعد
1002
00:44:30,160 –> 00:44:32,160
در قانون زنجیره ای برای رسیدن به فینال
1003
00:44:32,160 –> 00:44:33,440
شیب
1004
00:44:33,440 –> 00:44:36,480
بنابراین در اینجا گرادیان های محلی
1005
00:44:36,480 –> 00:44:39,200
ما می توانیم دو گرادیان را محاسبه کنیم
1006
00:44:39,200 –> 00:44:40,240
شیب c
1007
00:44:40,240 –> 00:44:43,440
با توجه به x و این ساده است
1008
00:44:43,440 –> 00:44:45,599
از آنجایی که ما این تابع را در اینجا می دانیم بنابراین این
1009
00:44:45,599 –> 00:44:47,119
گرادیان است
1010
00:44:47,119 –> 00:44:50,480
گرادیان x برابر y نسبت به x
1011
00:44:50,480 –> 00:44:54,319
که y و اینجا در پایین است
1012
00:44:54,319 –> 00:44:57,359
مشتق x ضرب y را محاسبه می کنیم
1013
00:44:57,359 –> 00:44:59,200
با توجه به y
1014
00:44:59,200 –> 00:45:02,800
که x است بنابراین شیب محلی آسان است
1015
00:45:02,800 –> 00:45:05,040
چون ما این تابع را می دانیم
1016
00:45:05,040 –> 00:45:08,319
و چرا ما آنها را می خواهیم
1017
00:45:08,319 –> 00:45:11,280
زیرا معمولا نمودار ما بیشتر است
1018
00:45:11,280 –> 00:45:12,319
عملیات
1019
00:45:12,319 –> 00:45:15,280
و در نهایت ضرر را محاسبه می کنیم
1020
00:45:15,280 –> 00:45:18,240
عملکردی که می خواهیم آن را به حداقل برسانیم تا ما
1021
00:45:18,240 –> 00:45:20,880
باید گرادیان را محاسبه کرد
1022
00:45:20,880 –> 00:45:23,200
از این ضرر با توجه به ما
1023
00:45:23,200 –> 00:45:24,160
پارامتر
1024
00:45:24,160 –> 00:45:28,240
x در ابتدا و
1025
00:45:28,240 –> 00:45:30,880
حالا بیایید در این موقعیت ما فرض کنیم
1026
00:45:30,880 –> 00:45:32,720
از قبل مشتق را می دانم
1027
00:45:32,720 –> 00:45:36,160
از دست دادن با توجه به ما ج
1028
00:45:36,160 –> 00:45:39,280
و سپس می توانیم گرادیان نهایی را بدست آوریم
1029
00:45:39,280 –> 00:45:39,920
ما میخواهیم
1030
00:45:39,920 –> 00:45:42,400
به طوری که با قانون زنجیره بنابراین
1031
00:45:42,400 –> 00:45:44,960
شیب از دست دادن با توجه به
1032
00:45:44,960 –> 00:45:48,240
x سپس گرادیان از دست دادن با است
1033
00:45:48,240 –> 00:45:50,240
احترام به ج
1034
00:45:50,240 –> 00:45:53,359
بار شیب محلی ما بنابراین
1035
00:45:53,359 –> 00:45:54,400
مشتق از
1036
00:45:54,400 –> 00:45:57,680
c با توجه به x و
1037
00:45:57,680 –> 00:46:00,400
بله اینگونه به فینال می رسیم
1038
00:46:00,400 –> 00:46:02,240
سپس گرادیان
1039
00:46:02,240 –> 00:46:06,319
و در حال حاضر کل مفهوم شامل
1040
00:46:06,319 –> 00:46:08,079
سه مرحله
1041
00:46:08,079 –> 00:46:11,440
بنابراین ابتدا یک پاس رو به جلو را در آنجا انجام می دهیم
1042
00:46:11,440 –> 00:46:12,000
درخواست دادن
1043
00:46:12,000 –> 00:46:15,200
همه توابع و محاسبه ضرر
1044
00:46:15,200 –> 00:46:18,160
سپس در هر گره محلی را محاسبه می کنیم
1045
00:46:18,160 –> 00:46:19,680
شیب ها
1046
00:46:19,680 –> 00:46:22,640
و سپس به اصطلاح یک پاس به عقب انجام می دهیم
1047
00:46:22,640 –> 00:46:24,880
که در آن گرادیان را محاسبه می کنیم
1048
00:46:24,880 –> 00:46:25,440
ضرر – زیان
1049
00:46:25,440 –> 00:46:27,680
با توجه به وزن ما یا
1050
00:46:27,680 –> 00:46:29,040
مولفه های
1051
00:46:29,040 –> 00:46:32,079
با استفاده از قانون زنجیره بنابراین اینها هستند
1052
00:46:32,079 –> 00:46:34,240
سه مرحله که ما انجام می دهیم
1053
00:46:34,240 –> 00:46:37,119
و اکنون به یک مثال عینی نگاه می کنیم
1054
00:46:37,119 –> 00:46:38,240
در اینجا می خواهیم استفاده کنیم
1055
00:46:38,240 –> 00:46:41,200
رگرسیون خطی و اگر نمی دانید
1056
00:46:41,200 –> 00:46:42,000
چگونه این کار می کند
1057
00:46:42,000 –> 00:46:43,839
سپس من دستگاه خود را به شدت توصیه می کنم
1058
00:46:43,839 –> 00:46:45,839
آموزش از صفر در مورد
1059
00:46:45,839 –> 00:46:47,599
رگرسیون خطی
1060
00:46:47,599 –> 00:46:49,119
اوم من لینک را در آن قرار خواهم داد
1061
00:46:49,119 –> 00:46:50,800
شرح
1062
00:46:50,800 –> 00:46:54,079
بنابراین اساسا ما خروجی خود را مدل می کنیم
1063
00:46:54,079 –> 00:46:56,560
با ترکیبی خطی از برخی
1064
00:46:56,560 –> 00:46:57,119
وزنه ها
1065
00:46:57,119 –> 00:47:00,480
و یک ورودی بنابراین کلاه ما
1066
00:47:00,480 –> 00:47:04,240
یا y پیش بینی شده w است
1067
00:47:04,240 –> 00:47:08,240
برابر x و سپس مقداری از دست دادن را فرمول بندی می کنیم
1068
00:47:08,240 –> 00:47:09,520
عملکرد
1069
00:47:09,520 –> 00:47:13,040
بنابراین در این مورد این مربع است
1070
00:47:13,040 –> 00:47:15,599
خطا در واقع باید میانگین باشد
1071
00:47:15,599 –> 00:47:16,800
مربع خطا اما
1072
00:47:16,800 –> 00:47:20,480
برای سادگی ما فقط از مربع استفاده می کنیم
1073
00:47:20,480 –> 00:47:21,359
خطا
1074
00:47:21,359 –> 00:47:23,200
در غیر این صورت ما دیگری خواهیم داشت
1075
00:47:23,200 –> 00:47:25,280
عملیات برای بدست آوردن میانگین
1076
00:47:25,280 –> 00:47:27,839
بنابراین ضرر تفاوت است
1077
00:47:27,839 –> 00:47:29,200
y را پیش بینی کرد
1078
00:47:29,200 –> 00:47:34,000
منهای y واقعی و سپس آن را مربع می کنیم
1079
00:47:34,000 –> 00:47:36,640
و اکنون می خواهیم ضرر خود را به حداقل برسانیم
1080
00:47:36,640 –> 00:47:38,880
می خواهیم مشتق the را بدانیم
1081
00:47:38,880 –> 00:47:39,359
ضرر – زیان
1082
00:47:39,359 –> 00:47:42,800
با توجه به وزن ما و نحوه انجام آن
1083
00:47:42,800 –> 00:47:45,599
ما آن را دریافت می کنیم، بنابراین سه مرحله خود را اعمال می کنیم
1084
00:47:45,599 –> 00:47:48,480
ابتدا یک پاس رو به جلو انجام می دهیم و وارد می کنیم
1085
00:47:48,480 –> 00:47:49,200
x
1086
00:47:49,200 –> 00:47:52,319
و w و سپس در اینجا ما را در
1087
00:47:52,319 –> 00:47:56,160
y و توابع ما را در اینجا اعمال کنید
1088
00:47:56,160 –> 00:47:58,400
و پس از آن ما از دست دادن و سپس ما
1089
00:47:58,400 –> 00:47:59,920
محاسبه کنید
1090
00:47:59,920 –> 00:48:02,960
گرادیان های محلی در هر گره
1091
00:48:02,960 –> 00:48:05,760
بنابراین در اینجا گرادیان از دست دادن با
1092
00:48:05,760 –> 00:48:07,280
احترام به ما
1093
00:48:07,280 –> 00:48:10,480
سپس در اینجا گرادیان از
1094
00:48:10,480 –> 00:48:13,680
با توجه به کلاه ما
1095
00:48:13,680 –> 00:48:16,400
و اینجا در این یادداشت گرادیان y
1096
00:48:16,400 –> 00:48:17,040
کلاه
1097
00:48:17,040 –> 00:48:20,160
با توجه به w ما
1098
00:48:20,160 –> 00:48:23,359
و سپس یک پاس به عقب انجام می دهیم تا ما
1099
00:48:23,359 –> 00:48:25,200
در پایان شروع کنید
1100
00:48:25,200 –> 00:48:27,280
و در اینجا ما اولین مورد را داریم
1101
00:48:27,280 –> 00:48:29,680
مشتق ضرر نسبت به
1102
00:48:29,680 –> 00:48:30,160
ما
1103
00:48:30,160 –> 00:48:34,160
s و سپس از آنها استفاده می کنیم و همچنین استفاده می کنیم
1104
00:48:34,160 –> 00:48:35,520
قانون زنجیره ای
1105
00:48:35,520 –> 00:48:38,000
برای بدست آوردن مشتق ضرر با
1106
00:48:38,000 –> 00:48:39,280
احترام به y
1107
00:48:39,280 –> 00:48:42,559
کلاه و سپس دوباره از این استفاده می کنیم
1108
00:48:42,559 –> 00:48:44,559
و قانون زنجیره ای برای رسیدن به فینال
1109
00:48:44,559 –> 00:48:47,119
شیب از دست دادن با توجه به ما
1110
00:48:47,119 –> 00:48:48,960
w
1111
00:48:48,960 –> 00:48:51,760
پس بیایید این کار را با مقداری بتن انجام دهیم
1112
00:48:51,760 –> 00:48:52,480
شماره
1113
00:48:52,480 –> 00:48:55,839
پس فرض کنید x و y داریم
1114
00:48:55,839 –> 00:48:59,599
بنابراین x یک و y دو در است
1115
00:48:59,599 –> 00:49:00,800
شروع
1116
00:49:00,800 –> 00:49:04,640
و بنابراین اینها نمونه های آموزشی ما هستند
1117
00:49:04,640 –> 00:49:08,000
و وزن خود را مقدار دهی اولیه می کنیم پس بیایید
1118
00:49:08,000 –> 00:49:10,720
مثلاً می گوییم w ما است
1119
00:49:10,720 –> 00:49:13,839
یکی در ابتدا و سپس ما انجام می دهیم
1120
00:49:13,839 –> 00:49:15,280
پاس رو به جلو بنابراین
1121
00:49:15,280 –> 00:49:18,319
در اینجا در اولین گره x را ضرب می کنیم
1122
00:49:18,319 –> 00:49:21,839
و w بنابراین ما y کلاه برابر می کنیم
1123
00:49:21,839 –> 00:49:25,200
یکی سپس در یادداشت بعدی ما
1124
00:49:25,200 –> 00:49:28,400
یک تفریق انجام دهید تا y کلاه کنید
1125
00:49:28,400 –> 00:49:31,520
منهای y برابر 1 منهای 2 است
1126
00:49:31,520 –> 00:49:35,680
برابر با منهای 1 و در نهایت
1127
00:49:35,680 –> 00:49:38,960
بنابراین ما s خود را مربع به طوری که ما داریم
1128
00:49:38,960 –> 00:49:42,160
پس از آن ضرر ما مجذور است
1129
00:49:42,160 –> 00:49:46,079
1 است و اکنون محلی را محاسبه می کنیم
1130
00:49:46,079 –> 00:49:47,280
گرادیان بنابراین
1131
00:49:47,280 –> 00:49:49,839
در آخرین گره ما گرادیان را داریم
1132
00:49:49,839 –> 00:49:51,520
ضرر با توجه به
1133
00:49:51,520 –> 00:49:54,400
s و این ساده است زیرا ما می دانیم
1134
00:49:54,400 –> 00:49:56,480
تابع بنابراین این گرادیان است
1135
00:49:56,480 –> 00:50:00,640
s مربع پس این فقط 2 ثانیه است
1136
00:50:00,640 –> 00:50:02,880
و سپس در گره بعدی ما را داریم
1137
00:50:02,880 –> 00:50:03,839
شیب از
1138
00:50:03,839 –> 00:50:07,119
s با توجه به y کلاه که است
1139
00:50:07,119 –> 00:50:08,400
شیب از
1140
00:50:08,400 –> 00:50:11,920
تابع y کلاه منهای y با احترام
1141
00:50:11,920 –> 00:50:12,400
اسباب بازی
1142
00:50:12,400 –> 00:50:15,760
کلاه که فقط یکی است و سپس اینجا در
1143
00:50:15,760 –> 00:50:18,240
آخرین گره ما مشتق است
1144
00:50:18,240 –> 00:50:22,400
از کلاه y با توجه به w
1145
00:50:22,400 –> 00:50:25,839
پس این مشتق w است
1146
00:50:25,839 –> 00:50:30,319
برابر x نسبت به w که x است
1147
00:50:30,319 –> 00:50:33,359
و همچنین توجه کنید که ما این کار را نمی کنیم
1148
00:50:33,359 –> 00:50:35,920
نیاز به رفتن نیست نیازی به دانستن
1149
00:50:35,920 –> 00:50:37,040
مشتقات
1150
00:50:37,040 –> 00:50:41,920
در این خطوط نمودار بنابراین ما نمی کنیم
1151
00:50:41,920 –> 00:50:44,079
اوه باید بدانیم مشتق چیست
1152
00:50:44,079 –> 00:50:46,400
از s با توجه به y
1153
00:50:46,400 –> 00:50:48,720
و همچنین در اینجا ما به این نیاز نداریم زیرا
1154
00:50:48,720 –> 00:50:50,400
x و y ما
1155
00:50:50,400 –> 00:50:53,920
ثابت هستند بنابراین ما فقط به آنها علاقه مند هستیم
1156
00:50:53,920 –> 00:50:54,559
ما
1157
00:50:54,559 –> 00:50:58,400
پارامترهایی که می خواهیم در اینجا به روز کنیم
1158
00:50:58,400 –> 00:51:00,640
و بله و سپس ما به عقب را انجام می دهیم
1159
00:51:00,640 –> 00:51:01,520
عبور
1160
00:51:01,520 –> 00:51:06,400
بنابراین ابتدا ما از شیب محلی خود استفاده می کنیم
1161
00:51:06,400 –> 00:51:09,200
بنابراین می خواهیم مشتق از را محاسبه کنیم
1162
00:51:09,200 –> 00:51:09,920
از دست دادن
1163
00:51:09,920 –> 00:51:12,800
با توجه به کلاه y و در اینجا ما استفاده می کنیم
1164
00:51:12,800 –> 00:51:14,000
قانون زنجیره ای
1165
00:51:14,000 –> 00:51:16,319
با دو شیب محلی ما که ما
1166
00:51:16,319 –> 00:51:18,000
فقط محاسبه شده
1167
00:51:18,000 –> 00:51:21,119
که دو s ضرب یک است
1168
00:51:21,119 –> 00:51:24,079
و s منهای 1 است که ما محاسبه کردیم
1169
00:51:24,079 –> 00:51:25,040
اینجا
1170
00:51:25,040 –> 00:51:28,240
و پس این منهای 2 است
1171
00:51:28,240 –> 00:51:31,440
و اکنون از این مشتق و همچنین استفاده می کنیم
1172
00:51:31,440 –> 00:51:34,400
این شیب محلی را دریافت کنید
1173
00:51:34,400 –> 00:51:37,119
گرادیان نهایی گرادیان از دست دادن
1174
00:51:37,119 –> 00:51:39,040
با توجه به w ما
1175
00:51:39,040 –> 00:51:41,359
که گرادیان از دست دادن با
1176
00:51:41,359 –> 00:51:42,400
احترام به y
1177
00:51:42,400 –> 00:51:45,760
کلاه برابر شیب کلاه y است
1178
00:51:45,760 –> 00:51:49,280
با توجه به w که منهای دو است
1179
00:51:49,280 –> 00:51:49,760
بار
1180
00:51:49,760 –> 00:51:54,160
x و x یکی است بنابراین گرادیان نهایی است
1181
00:51:54,160 –> 00:51:57,680
منهای دو پس این شیب نهایی است
1182
00:51:57,680 –> 00:51:58,640
پس از آن ما می دانیم
1183
00:51:58,640 –> 00:52:02,119
میخواهم بدانم و بله، اینطور است
1184
00:52:02,119 –> 00:52:05,119
پس انتشار کار می کند و اجازه دهید
1185
00:52:05,119 –> 00:52:09,680
به کد ما بروید و آن را تأیید کنید
1186
00:52:09,680 –> 00:52:13,440
pytorch این اعداد دقیق را بدست می آورد
1187
00:52:13,440 –> 00:52:17,040
بنابراین بیایید به یاد داشته باشیم که x یک است y دو است
1188
00:52:17,040 –> 00:52:20,720
و w یکی و سپس اولین ماست
1189
00:52:20,720 –> 00:52:25,280
گرادیان باید منهای دو باشد
1190
00:52:25,280 –> 00:52:27,440
بیایید ببینیم چگونه می توانیم از این در pi استفاده کنیم
1191
00:52:27,440 –> 00:52:29,359
مشعل و اول از همه ما
1192
00:52:29,359 –> 00:52:32,640
مشعل وارداتی البته
1193
00:52:32,640 –> 00:52:35,680
سپس بردار خود را ایجاد می کنیم
1194
00:52:35,680 –> 00:52:38,720
تانسور ما پس می گوییم x برابر است
1195
00:52:38,720 –> 00:52:41,920
تانسور نقطه مشعل و این
1196
00:52:41,920 –> 00:52:45,440
یکی است و سپس ما
1197
00:52:45,440 –> 00:52:50,240
y برابر است با تانسور نقطه مشعل
1198
00:52:50,240 –> 00:52:54,079
با دو و سپس ما
1199
00:52:54,079 –> 00:52:58,160
وزن اولیه یک تانسور است
1200
00:52:58,160 –> 00:53:03,920
همچنین با یک تا 1.0 آن را به یک شناور تبدیل کنید
1201
00:53:03,920 –> 00:53:07,040
و با وزن ما در اینجا هستیم
1202
00:53:07,040 –> 00:53:09,520
علاقه مند به گرادیان است، بنابراین ما نیاز داریم
1203
00:53:09,520 –> 00:53:10,640
مشخص نمودن
1204
00:53:10,640 –> 00:53:14,079
نیاز به بررسی برابر با true است
1205
00:53:14,079 –> 00:53:19,680
و سپس پاس رو به جلو را انجام می دهیم
1206
00:53:19,680 –> 00:53:24,000
و ضرر را می گیرد و محاسبه می کند
1207
00:53:24,000 –> 00:53:27,359
بنابراین ما به سادگی می گوییم y
1208
00:53:27,359 –> 00:53:31,200
کلاه برابر با w است
1209
00:53:31,200 –> 00:53:34,319
برابر x که تابع ماست
1210
00:53:34,319 –> 00:53:37,920
و بعد می گوییم ضرر مساوی است
1211
00:53:37,920 –> 00:53:42,319
y کلاه منهای
1212
00:53:42,319 –> 00:53:45,839
y واقعی و سپس این را مربع می کنیم
1213
00:53:45,839 –> 00:53:47,520
ما میگوییم
1214
00:53:47,520 –> 00:53:51,200
این به توان دو
1215
00:53:51,200 –> 00:53:55,440
و حالا بیایید از دست دادن خود را چاپ کنیم
1216
00:53:55,440 –> 00:53:58,720
و اوم را ببین
1217
00:53:58,720 –> 00:54:01,760
این یکی در آغاز و
1218
00:54:01,760 –> 00:54:04,800
اکنون می خواهیم پاس عقب را انجام دهیم
1219
00:54:04,800 –> 00:54:08,400
پس بیایید پاس رو به عقب را انجام دهیم و
1220
00:54:08,400 –> 00:54:10,880
pi touch، محلی را محاسبه می کند
1221
00:54:10,880 –> 00:54:11,599
شیب ها
1222
00:54:11,599 –> 00:54:14,079
به طور خودکار برای ما و همچنین محاسبه می کند
1223
00:54:14,079 –> 00:54:16,960
پاس عقب به طور خودکار برای ما
1224
00:54:16,960 –> 00:54:20,079
پس تنها چیزی که باید تماس بگیریم
1225
00:54:20,079 –> 00:54:20,640
است
1226
00:54:20,640 –> 00:54:24,400
بگو ضرر به عقب پس این کل است
1227
00:54:24,400 –> 00:54:28,000
محاسبه گرادیان و اکنون w ما
1228
00:54:28,000 –> 00:54:31,599
این ویژگی درجه گرید را دارد و ما می توانیم
1229
00:54:31,599 –> 00:54:32,800
این را چاپ کنید
1230
00:54:32,800 –> 00:54:37,119
و اکنون این اولین گرادیان است
1231
00:54:37,119 –> 00:54:39,119
در بعد از اولین فوروارد و
1232
00:54:39,119 –> 00:54:40,640
پاس به عقب
1233
00:54:40,640 –> 00:54:42,960
و به یاد داشته باشید که این باید -2 باشد
1234
00:54:42,960 –> 00:54:43,680
شروع
1235
00:54:43,680 –> 00:54:47,359
و در اینجا می بینیم که یک تانسور با -2 داریم
1236
00:54:47,359 –> 00:54:50,799
بنابراین این کار و مراحل بعدی کار می کند
1237
00:54:50,799 –> 00:54:52,720
برای مثال خواهد بود
1238
00:54:52,720 –> 00:54:55,920
اکنون وزن های خود را به روز می کنیم و سپس انجام می دهیم
1239
00:54:55,920 –> 00:54:56,559
را
1240
00:54:56,559 –> 00:55:00,480
پاس بعدی رو به جلو و عقب
1241
00:55:00,480 –> 00:55:03,280
و این کار را برای چند بار تکرار انجام دهید
1242
00:55:03,280 –> 00:55:05,280
و بله پس انتشار اینگونه است
1243
00:55:05,280 –> 00:55:06,400
کار می کند و چگونه
1244
00:55:06,400 –> 00:55:08,720
و همچنین استفاده از آن در چقدر آسان است
1245
00:55:08,720 –> 00:55:09,599
pytorch
1246
00:55:09,599 –> 00:55:11,760
و امیدوارم از این آموزش لذت برده باشید
1247
00:55:11,760 –> 00:55:13,760
لطفا عضو کانال شوید و ببینید
1248
00:55:13,760 –> 00:55:16,400
شما دفعه بعد
1249
00:55:18,839 –> 00:55:21,839
خدا حافظ
1250
00:55:22,240 –> 00:55:24,640
سلام به همه به مشعل پای جدید خوش آمدید
1251
00:55:24,640 –> 00:55:25,359
آموزش
1252
00:55:25,359 –> 00:55:27,599
در این آموزش من یک بتن را به شما نشان می دهم
1253
00:55:27,599 –> 00:55:29,839
مثالی از اینکه چگونه مدل خود را بهینه می کنیم
1254
00:55:29,839 –> 00:55:31,119
با اتوماتیک
1255
00:55:31,119 –> 00:55:33,599
محاسبه گرادیان با استفاده از مشعل پی
1256
00:55:33,599 –> 00:55:35,359
بسته خودکار
1257
00:55:35,359 –> 00:55:37,440
بنابراین ما با اجرای خطی شروع می کنیم
1258
00:55:37,440 –> 00:55:39,680
الگوریتم رگرسیون از ابتدا کجا
1259
00:55:39,680 –> 00:55:40,160
ما انجام می دهیم
1260
00:55:40,160 –> 00:55:42,960
هر مرحله به صورت دستی بنابراین ما آن را پیاده سازی می کنیم
1261
00:55:42,960 –> 00:55:44,880
معادلات برای محاسبه مدل
1262
00:55:44,880 –> 00:55:45,599
پیش بینی
1263
00:55:45,599 –> 00:55:48,000
و تابع ضرر را انجام می دهیم
1264
00:55:48,000 –> 00:55:50,400
محاسبه عددی گرادیان ها
1265
00:55:50,400 –> 00:55:50,640
و
1266
00:55:50,640 –> 00:55:52,880
فرمول را اجرا کنید و سپس ما
1267
00:55:52,880 –> 00:55:55,119
اجرای الگوریتم گرادیان مناسب
1268
00:55:55,119 –> 00:55:57,760
برای بهینه سازی پارامترهای ما
1269
00:55:57,760 –> 00:55:59,680
وقتی این کار می کند ما می بینیم که چگونه می توانیم
1270
00:55:59,680 –> 00:56:02,480
شیب های محاسبه شده دستی را جایگزین کنید
1271
00:56:02,480 –> 00:56:04,480
با انتشار خودکار پشت
1272
00:56:04,480 –> 00:56:05,359
الگوریتم از
1273
00:56:05,359 –> 00:56:09,520
مشعل پی پس این مرحله شماره دو است
1274
00:56:09,520 –> 00:56:12,559
و در گام سوم ما در مرحله سوم
1275
00:56:12,559 –> 00:56:15,200
مرحله ما محاسبه دستی را جایگزین می کنیم
1276
00:56:15,200 –> 00:56:17,839
از دست دادن و به روز رسانی پارامتر با استفاده از
1277
00:56:17,839 –> 00:56:21,119
کلاس های ضرر و بهینه ساز در مشعل پی
1278
00:56:21,119 –> 00:56:24,000
و در مرحله آخر جایگزین می کنیم
1279
00:56:24,000 –> 00:56:26,400
پیش بینی مدل به صورت دستی توسط
1280
00:56:26,400 –> 00:56:27,599
پیاده سازی یک pi
1281
00:56:27,599 –> 00:56:30,720
مدل مشعل پس زمانی که هر کدام را فهمیدیم
1282
00:56:30,720 –> 00:56:31,680
از این مراحل
1283
00:56:31,680 –> 00:56:34,640
pytorch می تواند بیشتر کارها را برای ما انجام دهد
1284
00:56:34,640 –> 00:56:35,920
البته هنوز هم مجبوریم
1285
00:56:35,920 –> 00:56:38,160
برای طراحی مدل ما و باید بدانیم
1286
00:56:38,160 –> 00:56:40,559
کدام ضرر و بهینه ساز را باید استفاده کنیم
1287
00:56:40,559 –> 00:56:42,319
اما لازم نیست نگران باشیم
1288
00:56:42,319 –> 00:56:44,960
الگوریتم های اساسی دیگر
1289
00:56:44,960 –> 00:56:48,160
بنابراین اکنون این ویدیو مراحل یک را پوشش می دهد
1290
00:56:48,160 –> 00:56:51,119
و دو و در ویدیوی بعدی خواهیم گفت
1291
00:56:51,119 –> 00:56:52,160
مراحل را ببینید
1292
00:56:52,160 –> 00:56:55,440
سه و چهار پس بیایید شروع کنیم
1293
00:56:55,440 –> 00:56:59,040
و من فرض می کنم که شما قبلاً می دانید چگونه
1294
00:56:59,040 –> 00:57:01,119
رگرسیون خطی و گرادیان مناسب
1295
00:57:01,119 –> 00:57:01,760
آثار
1296
00:57:01,760 –> 00:57:04,079
و اگر نه، لطفا دستگاه من را تماشا کنید
1297
00:57:04,079 –> 00:57:06,000
آموزش از صفر در مورد
1298
00:57:06,000 –> 00:57:07,440
این الگوریتم به دلیل
1299
00:57:07,440 –> 00:57:09,680
اکنون تمام مراحل را توضیح نمی دهم
1300
00:57:09,680 –> 00:57:10,880
جزئیات
1301
00:57:10,880 –> 00:57:14,000
اما من لینک را در توضیحات قرار دادم
1302
00:57:14,000 –> 00:57:14,640
اکنون انجام می دهیم
1303
00:57:14,640 –> 00:57:17,680
همه چیز از ابتدا، بنابراین ما فقط استفاده می کنیم
1304
00:57:17,680 –> 00:57:20,720
numpy بنابراین ما numpy را وارد می کنیم
1305
00:57:20,720 –> 00:57:24,319
s و p و سپس استفاده می کنیم
1306
00:57:24,319 –> 00:57:27,680
رگرسیون خطی بنابراین از یک تابع استفاده می کنیم
1307
00:57:27,680 –> 00:57:30,559
که فقط یک خطی انجام می دهد
1308
00:57:30,559 –> 00:57:31,440
ترکیبی
1309
00:57:31,440 –> 00:57:34,880
برخی از وزن ها و ورودی های ما و ما
1310
00:57:34,880 –> 00:57:38,160
به تعصب اینجا اهمیت نده
1311
00:57:38,160 –> 00:57:41,200
بنابراین در مثال ما فرض کنید f
1312
00:57:41,200 –> 00:57:44,400
برابر دو برابر x است
1313
00:57:44,400 –> 00:57:47,520
بنابراین وزن ما باید دو باشد
1314
00:57:47,520 –> 00:57:51,040
و سپس چند نمونه آموزشی انجام دهیم
1315
00:57:51,040 –> 00:57:55,520
بنابراین فرض کنید x برابر است
1316
00:57:55,520 –> 00:58:00,160
آرایه numpy dot و سپس مقداری قرار می دهیم
1317
00:58:00,160 –> 00:58:02,880
تست ها یا نمونه های آموزشی پس بیایید بگوییم
1318
00:58:02,880 –> 00:58:03,440
یکی
1319
00:58:03,440 –> 00:58:07,040
دو سه و چهار و این از خواهد بود
1320
00:58:07,040 –> 00:58:10,480
یا بیایید بگیریم
1321
00:58:10,480 –> 00:58:13,760
به این یک نوع داده بدهید بگو این است
1322
00:58:13,760 –> 00:58:16,880
شناور نقطه ناتوان
1323
00:58:16,880 –> 00:58:21,599
32 و سپس ما نیز a را می خواهیم
1324
00:58:21,599 –> 00:58:25,359
y و
1325
00:58:25,359 –> 00:58:28,960
از آنجایی که فرمول ما این است که 2 برابر است
1326
00:58:28,960 –> 00:58:30,000
جهت تکثیر
1327
00:58:30,000 –> 00:58:33,839
هر یک از مقادیر 2 تا 2 4
1328
00:58:33,839 –> 00:58:37,040
6 و 8. و اکنون ما
1329
00:58:37,040 –> 00:58:40,720
وزن هایمان را مقداردهی اولیه کنیم تا به سادگی بگوییم
1330
00:58:40,720 –> 00:58:44,880
w در ابتدا برابر با صفر است
1331
00:58:44,880 –> 00:58:48,160
و حالا ما باید um
1332
00:58:48,160 –> 00:58:52,160
پیش بینی مدل ما را محاسبه کنید
1333
00:58:52,160 –> 00:58:56,079
و همچنین باید ضرر را محاسبه کنیم
1334
00:58:56,079 –> 00:58:57,920
و سپس باید مقدار را محاسبه کنیم
1335
00:58:57,920 –> 00:59:00,079
گرادیان بنابراین اکنون هر یک از اینها را انجام می دهیم
1336
00:59:00,079 –> 00:59:01,920
مراحل به صورت دستی
1337
00:59:01,920 –> 00:59:04,720
پس بیایید یک تابع تعریف کنیم و فراخوانی کنیم
1338
00:59:04,720 –> 00:59:05,200
این
1339
00:59:05,200 –> 00:59:08,640
به جلو پس این یک پاس رو به جلو به است
1340
00:59:08,640 –> 00:59:12,000
از قراردادهای پی مشعل پیروی کنید
1341
00:59:12,000 –> 00:59:15,119
که x و سپس مدل ما را دریافت می کند
1342
00:59:15,119 –> 00:59:18,880
خروجی به سادگی w برابر است
1343
00:59:18,880 –> 00:59:22,640
x پس این پاس رو به جلو است
1344
00:59:22,640 –> 00:59:25,680
امم الان از دست دادن
1345
00:59:25,680 –> 00:59:28,880
بنابراین در اینجا ما از دست دادن تابع را تعریف می کنیم
1346
00:59:28,880 –> 00:59:32,079
که به y بستگی دارد
1347
00:59:32,079 –> 00:59:35,599
و y پیش بینی کرد
1348
00:59:35,599 –> 00:59:39,599
بنابراین این مدل است
1349
00:59:39,599 –> 00:59:42,720
خروجی um و
1350
00:59:42,720 –> 00:59:46,079
در حال حاضر اینجا در این مورد این است
1351
00:59:46,079 –> 00:59:49,040
یا ضرر برابر با میانگین مجذور است
1352
00:59:49,040 –> 00:59:51,839
خطا در مورد رگرسیون خطی
1353
00:59:51,839 –> 00:59:54,880
و با گفتن این می توانیم این را محاسبه کنیم
1354
00:59:54,880 –> 00:59:56,079
است
1355
00:59:56,079 –> 01:00:00,079
بیایید بگوییم شما پیش بینی کردید
1356
01:00:00,079 –> 01:00:03,839
منهای y و سپس به توان
1357
01:00:03,839 –> 01:00:08,160
از دو و سپس عملیات میانگین را انجام می دهیم
1358
01:00:08,160 –> 01:00:11,599
بنابراین این از دست دادن است و در حال حاضر ما به صورت دستی
1359
01:00:11,599 –> 01:00:12,240
دارند
1360
01:00:12,240 –> 01:00:15,520
باید گرادیان را محاسبه کرد
1361
01:00:15,520 –> 01:00:17,200
از دست دادن با توجه به
1362
01:00:17,200 –> 01:00:20,400
پارامترهای ما بنابراین
1363
01:00:20,400 –> 01:00:22,720
بیایید نگاهی به میانگین مربع بیندازیم
1364
01:00:22,720 –> 01:00:24,400
خطا پس فرمول
1365
01:00:24,400 –> 01:00:29,119
1 روی n است زیرا میانگین است
1366
01:00:29,119 –> 01:00:32,480
و سپس ما خود را داریم
1367
01:00:32,480 –> 01:00:36,240
y w ضربدر x بنابراین پیش بینی ما
1368
01:00:36,240 –> 01:00:39,920
منهای مقدار واقعی به توان
1369
01:00:39,920 –> 01:00:40,799
دو
1370
01:00:40,799 –> 01:00:42,160
و حالا اگر می خواهید آن را داشته باشید
1371
01:00:42,160 –> 01:00:44,480
مشتق پس مشتق
1372
01:00:44,480 –> 01:00:48,079
بیایید این را j یا هدف بنامیم
1373
01:00:48,079 –> 01:00:49,040
عملکرد
1374
01:00:49,040 –> 01:00:52,799
با توجه به w برابر است
1375
01:00:52,799 –> 01:00:56,000
1 روی n و سپس
1376
01:00:56,000 –> 01:00:59,599
دو برابر x و سپس داریم
1377
01:00:59,599 –> 01:01:02,880
برابر w ضربدر x
1378
01:01:02,880 –> 01:01:06,000
منهای y پس این است
1379
01:01:06,000 –> 01:01:09,200
محاسبه عددی
1380
01:01:09,200 –> 01:01:11,599
مشتق پس لطفا دوبار بررسی کنید
1381
01:01:11,599 –> 01:01:13,520
ریاضی برای خودت
1382
01:01:13,520 –> 01:01:16,480
و حالا ما این را اجرا می کنیم بنابراین می گوییم
1383
01:01:16,480 –> 01:01:17,440
تعریف کردن
1384
01:01:17,440 –> 01:01:20,640
گرادیان که وابسته است
1385
01:01:20,640 –> 01:01:24,160
در x و y و همچنین
1386
01:01:24,160 –> 01:01:28,400
y پیش بینی کرد و اکنون می توانیم این کار را انجام دهیم
1387
01:01:28,400 –> 01:01:30,960
یک خط پس برمی گردیم
1388
01:01:30,960 –> 01:01:34,640
numpy dot ما به یک محصول نقطه نیاز داریم
1389
01:01:34,640 –> 01:01:38,079
از دو برابر x
1390
01:01:38,079 –> 01:01:42,079
و سپس در اینجا ما y پیش بینی کرده ایم
1391
01:01:42,079 –> 01:01:45,200
منهای y پس این
1392
01:01:45,200 –> 01:01:48,640
این فرمول در اینجا و البته پس از آن است
1393
01:01:48,640 –> 01:01:50,000
ما نیز به آن نیاز داریم
1394
01:01:50,000 –> 01:01:54,240
یعنی بیایید بگوییم این نقطه است
1395
01:01:54,240 –> 01:01:56,559
یعنی ما به سادگی می توانیم این کار را در اینجا انجام دهیم
1396
01:01:56,559 –> 01:01:57,920
بی حسی
1397
01:01:57,920 –> 01:02:01,440
و حالا بله اینها هستند
1398
01:02:01,440 –> 01:02:04,839
چیزهایی که اکنون نیاز داریم بیایید چاپ کنیم
1399
01:02:04,839 –> 01:02:08,799
پیش بینی ما قبل از تمرین
1400
01:02:08,799 –> 01:02:11,839
پس بیایید چاپ کنیم و از یک رشته f استفاده می کنیم
1401
01:02:11,839 –> 01:02:15,599
پس پیش بینی قبل
1402
01:02:15,599 –> 01:02:19,119
آموزش و فرض کنید می خواهیم
1403
01:02:19,119 –> 01:02:20,799
ارزش را پیش بینی کنید
1404
01:02:20,799 –> 01:02:24,480
5 که باید 10 و
1405
01:02:24,480 –> 01:02:27,680
در اینجا ما می توانیم انجام دهیم
1406
01:02:28,079 –> 01:02:30,960
در رشته f ما در واقع می توانیم از an استفاده کنیم
1407
01:02:30,960 –> 01:02:33,680
بیان تا بتوانیم این را بنامیم
1408
01:02:33,680 –> 01:02:37,440
روش رو به جلو و با پنج
1409
01:02:37,440 –> 01:02:40,880
و فرض کنید ما فقط سه مورد می خواهیم
1410
01:02:40,880 –> 01:02:44,079
مقادیر اعشاری و
1411
01:02:44,079 –> 01:02:49,119
حالا بیایید آموزش خود را شروع کنیم
1412
01:02:49,119 –> 01:02:51,920
بنابراین اجازه دهید برخی از پارامترها را تعریف کنیم تا ما
1413
01:02:51,920 –> 01:02:52,559
نیاز به یک
1414
01:02:52,559 –> 01:02:56,160
نرخ یادگیری که فرض کنید
1415
01:02:56,160 –> 01:03:00,559
نقطه صفر یک و سپس به یک عدد نیاز داریم
1416
01:03:00,559 –> 01:03:03,039
از تکرارها پس می گوییم n
1417
01:03:03,039 –> 01:03:06,079
تکرار برابر با 10 است
1418
01:03:06,079 –> 01:03:09,200
و حالا بیایید حلقه آموزشی خود را انجام دهیم
1419
01:03:09,200 –> 01:03:13,039
بنابراین ما می گوییم برای دوره در
1420
01:03:13,039 –> 01:03:16,480
محدوده و خطاهای آن
1421
01:03:16,480 –> 01:03:19,920
و سپس ابتدا این کار را انجام می دهیم
1422
01:03:19,920 –> 01:03:23,440
پیش بینی که پاس رو به جلو است
1423
01:03:23,440 –> 01:03:24,960
این است
1424
01:03:24,960 –> 01:03:28,079
به جلو پاس بده
1425
01:03:28,079 –> 01:03:30,079
و ما به سادگی می توانیم این کار را با ما انجام دهیم
1426
01:03:30,079 –> 01:03:32,319
تابع پس می گوییم y
1427
01:03:32,319 –> 01:03:35,599
پیش بینی یا y pratt برابر است
1428
01:03:35,599 –> 01:03:39,280
به جلو و سپس ما در خود قرار می دهیم
1429
01:03:39,280 –> 01:03:43,119
x سرمایه و حالا ما
1430
01:03:43,119 –> 01:03:46,720
می خواهم از دست دادن پس از دست دادن ما
1431
01:03:46,720 –> 01:03:49,839
l برابر با ضرر است
1432
01:03:49,839 –> 01:03:53,200
از اوم واقعی
1433
01:03:53,200 –> 01:03:57,920
y و ما y پیش بینی کردند
1434
01:03:57,920 –> 01:04:02,400
اکنون باید شیب ها را بدست آوریم
1435
01:04:02,400 –> 01:04:06,000
بنابراین شیب ما با توجه به w
1436
01:04:06,000 –> 01:04:09,119
بنابراین dw برابر است
1437
01:04:09,119 –> 01:04:11,200
تابع گرادیان که ما فقط
1438
01:04:11,200 –> 01:04:12,480
اجرا شد
1439
01:04:12,480 –> 01:04:16,079
که به x و y وابسته است
1440
01:04:16,079 –> 01:04:20,000
و y پیش بینی کرد
1441
01:04:20,000 –> 01:04:24,839
ببخشید پرت
1442
01:04:24,839 –> 01:04:27,920
و حالا مجبوریم
1443
01:04:27,920 –> 01:04:31,440
وزن هایمان را به روز کنیم و
1444
01:04:31,440 –> 01:04:34,400
بله بنابراین فرمول به روز رسانی در
1445
01:04:34,400 –> 01:04:36,000
شیب نزول
1446
01:04:36,000 –> 01:04:38,880
الگوریتم این است که فقط وارد آن می شویم
1447
01:04:38,880 –> 01:04:41,039
جهت منفی
1448
01:04:41,039 –> 01:04:44,160
از آموزش شیب
1449
01:04:44,160 –> 01:04:47,359
بنابراین منهای x و سپس اینجا
1450
01:04:47,359 –> 01:04:50,240
عرض گام یا به اصطلاح یادگیری
1451
01:04:50,240 –> 01:04:51,280
نرخ
1452
01:04:51,280 –> 01:04:54,640
برابر شیب ما
1453
01:04:54,640 –> 01:04:57,839
بنابراین این فرمول به روز رسانی است
1454
01:04:57,839 –> 01:05:00,240
و سپس فرض کنید ما نیز می خواهیم چاپ کنیم
1455
01:05:00,240 –> 01:05:02,160
برخی از اطلاعات در اینجا
1456
01:05:02,160 –> 01:05:06,480
بنابراین می گوییم اگر epoch modulo
1457
01:05:06,480 –> 01:05:09,119
فقط یکی را اینجا بگویید زیرا اکنون ما می خواهیم
1458
01:05:09,119 –> 01:05:11,039
هر مرحله را چاپ کنید
1459
01:05:11,039 –> 01:05:14,079
اوم اگر این صفر است ما می خواهیم
1460
01:05:14,079 –> 01:05:17,359
چاپ کنید بیایید بگوییم
1461
01:05:17,359 –> 01:05:20,799
ما می خواهیم دوره را چاپ کنیم
1462
01:05:20,799 –> 01:05:24,880
و در اینجا دوره بعلاوه یک را چاپ می کنیم
1463
01:05:24,880 –> 01:05:28,799
و سپس می خواهیم وزن را بدست آوریم
1464
01:05:28,799 –> 01:05:30,830
که ام
1465
01:05:30,830 –> 01:05:32,240
[موسیقی]
1466
01:05:32,240 –> 01:05:35,359
وزن w
1467
01:05:35,359 –> 01:05:40,079
اوم فقط سه عدد اعشاری
1468
01:05:40,079 –> 01:05:43,359
و سپس ما نیز می خواهیم ضرر داشته باشیم
1469
01:05:43,359 –> 01:05:44,720
بنابراین از دست دادن
1470
01:05:44,720 –> 01:05:48,079
برابر با ضرر و
1471
01:05:48,079 –> 01:05:51,920
در اینجا می گوییم نقطه
1472
01:05:51,920 –> 01:05:55,520
هشت بگوییم و
1473
01:05:55,520 –> 01:05:59,119
بله و سپس در پایان
1474
01:05:59,119 –> 01:06:01,920
ما می خواهیم پیش بینی را بعد از آن چاپ کنیم
1475
01:06:01,920 –> 01:06:04,319
ام اموزش
1476
01:06:04,319 –> 01:06:07,920
پس حالا بیایید پیش بینی کنیم
1477
01:06:07,920 –> 01:06:12,160
پیش بینی چاپ بعد از آموزش
1478
01:06:12,160 –> 01:06:15,599
و بله پس حالا بیایید
1479
01:06:15,599 –> 01:06:18,720
اینو اجرا کن ببین چی میشه
1480
01:06:18,720 –> 01:06:21,760
بنابراین همه چیز باید کار کند و اکنون
1481
01:06:21,760 –> 01:06:23,680
بنابراین بله قبل از تمرین ما
1482
01:06:23,680 –> 01:06:27,920
پیش بینی صفر و سپس برای هر کدام است
1483
01:06:27,920 –> 01:06:28,799
گام
1484
01:06:28,799 –> 01:06:32,079
به یاد داشته باشید که فرمول ما باید 2 باشد
1485
01:06:32,079 –> 01:06:35,280
برابر x پس w ما باید 2 باشد
1486
01:06:35,280 –> 01:06:38,000
در ابتدا و ما می بینیم که با
1487
01:06:38,000 –> 01:06:38,799
هر یک
1488
01:06:38,799 –> 01:06:42,079
مرحله آموزش آن را افزایش می دهد
1489
01:06:42,079 –> 01:06:46,640
وزن ما را کاهش می دهد
1490
01:06:46,640 –> 01:06:49,839
از دست دادن بنابراین با هر قدم بهتر می شود
1491
01:06:49,839 –> 01:06:52,559
و بعد از آموزش مدل ما
1492
01:06:52,559 –> 01:06:53,440
پیش بینی
1493
01:06:53,440 –> 01:06:57,280
9.999 است بنابراین تقریباً وجود دارد
1494
01:06:57,280 –> 01:07:00,400
پس بیایید به عنوان مثال بگوییم اکنون می خواهیم
1495
01:07:00,400 –> 01:07:00,960
دارند
1496
01:07:00,960 –> 01:07:04,319
تکرارهای بیشتر در اینجا می گویند که ما فقط انجام دادیم
1497
01:07:04,319 –> 01:07:06,720
ما فقط 10 تکرار انجام دادیم که اینطور نیست
1498
01:07:06,720 –> 01:07:07,599
بسیار
1499
01:07:07,599 –> 01:07:10,480
حالا اگر این را اجرا کنیم و هر کدام را چاپ کنیم
1500
01:07:10,480 –> 01:07:11,280
دومین
1501
01:07:11,280 –> 01:07:14,480
فقط در این صورت است که می بینیم
1502
01:07:14,480 –> 01:07:17,760
در نهایت ضرر ما صفر است
1503
01:07:17,760 –> 01:07:21,599
و پیش بینی درست است
1504
01:07:21,599 –> 01:07:23,440
در حال حاضر این پیاده سازی است که در آن ما
1505
01:07:23,440 –> 01:07:25,440
همه چیز را به صورت دستی انجام داد
1506
01:07:25,440 –> 01:07:28,319
و حالا بیایید گرادیان را جایگزین کنیم
1507
01:07:28,319 –> 01:07:29,920
محاسبه
1508
01:07:29,920 –> 01:07:32,640
پس بیایید همه اینها را انتخاب کرده و کپی کنیم
1509
01:07:32,640 –> 01:07:33,039
این
1510
01:07:33,039 –> 01:07:36,400
در یک فایل جداگانه و اکنون ما
1511
01:07:36,400 –> 01:07:39,760
دیگر از numpy استفاده نکنید پس
1512
01:07:39,760 –> 01:07:43,200
حالا بیایید فقط مشعل وارد کنیم
1513
01:07:43,200 –> 01:07:47,359
و همه کارها را با مشعل پی انجام دهید
1514
01:07:47,359 –> 01:07:49,359
و البته آنچه که اکنون می خواهیم به دست آوریم
1515
01:07:49,359 –> 01:07:51,680
رهایی از این گرادیان است
1516
01:07:51,680 –> 01:07:54,720
گرادیان های دستی محاسبه شده است
1517
01:07:54,720 –> 01:07:55,760
ما به سادگی
1518
01:07:55,760 –> 01:07:58,799
این را حذف کنید ما دیگر به این نیاز نداریم
1519
01:07:58,799 –> 01:08:01,839
و الان numpy نداریم
1520
01:08:01,839 –> 01:08:05,520
آرایه ها بنابراین این اکنون یک است
1521
01:08:05,520 –> 01:08:09,280
تانسور نقطه مشعل
1522
01:08:09,280 –> 01:08:12,319
و نوع داده ما
1523
01:08:12,319 –> 01:08:15,359
اکنون مشعل است
1524
01:08:15,359 –> 01:08:18,560
نقطه شناور 32 و
1525
01:08:18,560 –> 01:08:22,560
همینطور y ما که اکنون a است
1526
01:08:22,560 –> 01:08:26,880
تانسور نقطه مشعل و همچنین نوع داده
1527
01:08:26,880 –> 01:08:28,319
از مشعل است
1528
01:08:28,319 –> 01:08:31,520
ماژول اما همه چیز مشابه است
1529
01:08:31,520 –> 01:08:33,759
در اینجا بنابراین همان نحو
1530
01:08:33,759 –> 01:08:39,359
و اکنون w ما نیز باید یک تانسور باشد
1531
01:08:39,359 –> 01:08:42,399
بنابراین بیایید بگوییم این یک نقطه مشعل است
1532
01:08:42,399 –> 01:08:45,520
تانسور ام با
1533
01:08:45,520 –> 01:08:49,040
نقطه صفر صفر در ابتدا
1534
01:08:49,040 –> 01:08:52,238
و همچنین یک نوع داده دریافت می کند
1535
01:08:52,238 –> 01:08:56,719
بگویید مشعل float 32
1536
01:08:56,719 –> 01:08:59,040
و از آنجایی که ما به
1537
01:08:59,040 –> 01:09:00,319
شیب از
1538
01:09:00,319 –> 01:09:04,238
از دست دادن ما با توجه به این پارامتر
1539
01:09:04,238 –> 01:09:07,198
ما باید مشخص کنیم که این نیاز دارد
1540
01:09:07,198 –> 01:09:09,839
محاسبات گرادیان بنابراین نیاز دارد
1541
01:09:09,839 –> 01:09:10,640
scrat
1542
01:09:10,640 –> 01:09:15,279
برابر است با تابع جلو
1543
01:09:15,279 –> 01:09:17,839
و تابع ضرر همچنان یکسان است
1544
01:09:17,839 –> 01:09:20,080
زیرا می توانیم از همان نحو استفاده کنیم
1545
01:09:20,080 –> 01:09:24,319
در پی مشعل و
1546
01:09:24,319 –> 01:09:28,719
در حال حاضر در حلقه آموزشی ما رو به جلو است
1547
01:09:28,719 –> 01:09:30,080
پاس همچنان همان است
1548
01:09:30,080 –> 01:09:32,839
ضرر همان است و در حال حاضر
1549
01:09:32,839 –> 01:09:34,080
شیب
1550
01:09:34,080 –> 01:09:38,560
این برابر است با پاس عقب
1551
01:09:38,560 –> 01:09:41,520
پس به یاد داشته باشید در پس انتشار ما ابتدا
1552
01:09:41,520 –> 01:09:42,158
انجام دهید
1553
01:09:42,158 –> 01:09:44,479
پاس رو به جلو به همین دلیل است که از آن استفاده می کنیم
1554
01:09:44,479 –> 01:09:45,759
نحو
1555
01:09:45,759 –> 01:09:48,238
و سپس برای شیب هایی که استفاده می کنیم
1556
01:09:48,238 –> 01:09:50,000
پاس عقب پس
1557
01:09:50,000 –> 01:09:53,120
در اینجا ما به سادگی L را صدا می کنیم
1558
01:09:53,120 –> 01:09:56,320
نقطه به عقب
1559
01:09:56,320 –> 01:09:59,679
و این گرادیان را محاسبه می کند
1560
01:09:59,679 –> 01:10:03,199
از دست دادن ما با احترام
1561
01:10:03,199 –> 01:10:06,719
به w بنابراین پی لمس
1562
01:10:06,719 –> 01:10:10,239
همه محاسبات را برای ما و اکنون انجام می دهد
1563
01:10:10,239 –> 01:10:12,960
ما وزن های خود را به روز می کنیم اما اینجا می خواهیم
1564
01:10:12,960 –> 01:10:13,440
بودن
1565
01:10:13,440 –> 01:10:16,480
مراقب باشید و این را در قسمت توضیح دادم
1566
01:10:16,480 –> 01:10:20,320
آموزش بسته خودکار
1567
01:10:20,320 –> 01:10:23,760
چون ما نمیخواهیم این باشیم
1568
01:10:23,760 –> 01:10:28,080
عملیات نباید بخشی از ما باشد
1569
01:10:28,080 –> 01:10:31,440
um gradient ردیابی گراف بنابراین این
1570
01:10:31,440 –> 01:10:33,840
نباید بخشی از محاسبات باشد
1571
01:10:33,840 –> 01:10:34,880
نمودار
1572
01:10:34,880 –> 01:10:38,080
بنابراین ما باید این را در یک با بپیچیم
1573
01:10:38,080 –> 01:10:41,199
نقطه مشعل شماره
1574
01:10:41,199 –> 01:10:44,400
بیانیه درجه
1575
01:10:44,400 –> 01:10:48,080
و سپس یک چیز دیگر که باید
1576
01:10:48,080 –> 01:10:50,560
همچنین می دانم و من نیز در این مورد صحبت کردم
1577
01:10:50,560 –> 01:10:51,440
قبلا، پیش از این
1578
01:10:51,440 –> 01:10:55,120
باید شیب ها را خالی یا صفر کنیم
1579
01:10:55,120 –> 01:10:58,880
دوباره چون هر زمان که به عقب زنگ می زنیم
1580
01:10:58,880 –> 01:11:02,640
گرادیان های ما را خواهد نوشت
1581
01:11:02,640 –> 01:11:06,320
و آنها را در w جمع کنید
1582
01:11:06,320 –> 01:11:10,000
dot grad ویژگی بنابراین قبل از بعدی
1583
01:11:10,000 –> 01:11:12,400
تکرار ما می خواهیم مطمئن شویم که ما
1584
01:11:12,400 –> 01:11:13,120
شیب ها
1585
01:11:13,120 –> 01:11:16,719
دوباره صفر هستند بنابراین می توانیم بگوییم w
1586
01:11:16,719 –> 01:11:20,480
ضرب در نمودار ضربدر صفر زیرخط بنابراین
1587
01:11:20,480 –> 01:11:23,280
این آن را در جای خود اصلاح می کند
1588
01:11:23,280 –> 01:11:26,480
و اکنون کار ما تمام شده است
1589
01:11:26,480 –> 01:11:28,880
و حالا بیایید این را اجرا کنیم و ببینیم که آیا این
1590
01:11:28,880 –> 01:11:31,040
در حال کار است
1591
01:11:31,040 –> 01:11:34,320
و w تعریف نشده است
1592
01:11:34,320 –> 01:11:38,080
اوه اوه بله البته این الان است
1593
01:11:38,080 –> 01:11:41,520
w نقطه درجه
1594
01:11:41,520 –> 01:11:44,239
و بیایید دوباره این را امتحان کنیم و اکنون اینطور است
1595
01:11:44,239 –> 01:11:45,520
کار کردن
1596
01:11:45,520 –> 01:11:48,880
و اکنون نیز می بینیم که خواهد شد
1597
01:11:48,880 –> 01:11:52,080
w ما را افزایش داده و کاهش خواهد یافت
1598
01:11:52,080 –> 01:11:55,280
از دست دادن ما و اینجا گفتیم
1599
01:11:55,280 –> 01:11:58,640
ما 20 تکرار داشتیم اما
1600
01:11:58,640 –> 01:12:03,040
درست نیست کاملا درست نیست
1601
01:12:03,040 –> 01:12:06,159
و این به این دلیل است که
1602
01:12:06,159 –> 01:12:08,960
به عقب یا پس انتشار نیست
1603
01:12:08,960 –> 01:12:09,360
مانند
1604
01:12:09,360 –> 01:12:12,560
دقیقاً به عنوان گرادیان عددی
1605
01:12:12,560 –> 01:12:15,760
محاسبات پس بیایید کمی بیشتر امتحان کنیم
1606
01:12:15,760 –> 01:12:18,880
تکرار اینجا فرض کنید ما 100 می خواهیم
1607
01:12:18,880 –> 01:12:20,400
تکرارها
1608
01:12:20,400 –> 01:12:24,080
و به روز رسانی ما را هر 10 بار چاپ کنید
1609
01:12:24,080 –> 01:12:27,600
مرحله پس بیایید دوباره این را امتحان کنیم
1610
01:12:27,600 –> 01:12:30,000
و در حال حاضر ما بعد از آموزش است
1611
01:12:30,000 –> 01:12:31,840
انجام شده است ما درست است
1612
01:12:31,840 –> 01:12:33,520
پیش بینی
1613
01:12:33,520 –> 01:12:36,800
پس بله برای این ویدیو همین است
1614
01:12:36,800 –> 01:12:38,719
و در ویدیوی بعدی ادامه خواهیم داد
1615
01:12:38,719 –> 01:12:41,199
در اینجا و به جای محاسبه دستی
1616
01:12:41,199 –> 01:12:43,440
کاهش وزن و به روز رسانی با pytorch
1617
01:12:43,440 –> 01:12:45,920
کلاس های ضرر و بهینه ساز
1618
01:12:45,920 –> 01:12:47,520
پس اگر این ویدیو را دوست دارید لطفا
1619
01:12:47,520 –> 01:12:49,360
عضو کانال شوید و شما را ببینم
1620
01:12:49,360 –> 01:12:50,239
دفعه بعد
1621
01:12:50,239 –> 01:12:52,560
خدا حافظ
1622
01:12:57,679 –> 01:12:59,760
سلام به همه خوش آمدید به یک پای جدید
1623
01:12:59,760 –> 01:13:00,800
آموزش مشعل
1624
01:13:00,800 –> 01:13:02,640
در آخرین آموزشی که اجرا کردیم
1625
01:13:02,640 –> 01:13:04,000
رگرسیون لجستیک از
1626
01:13:04,000 –> 01:13:05,920
خراش و سپس یاد گرفتیم که چگونه می توانیم استفاده کنیم
1627
01:13:05,920 –> 01:13:08,640
pytorch برای محاسبه گرادیان
1628
01:13:08,640 –> 01:13:10,640
ما با انتشار پشت
1629
01:13:10,640 –> 01:13:12,960
اکنون از همان جایی که متوقف کردیم ادامه خواهیم داد
1630
01:13:12,960 –> 01:13:14,880
و اکنون می خواهیم آن را جایگزین کنیم
1631
01:13:14,880 –> 01:13:16,719
به صورت دستی محاسبه می شود
1632
01:13:16,719 –> 01:13:19,600
از دست دادن و به روز رسانی پارامتر با استفاده از
1633
01:13:19,600 –> 01:13:23,040
کلاس های ضرر و بهینه ساز در مشعل پی
1634
01:13:23,040 –> 01:13:25,440
و سپس به صورت دستی جایگزین می کنیم
1635
01:13:25,440 –> 01:13:27,199
پیش بینی مدل محاسبه شده توسط
1636
01:13:27,199 –> 01:13:28,159
اجرای الف
1637
01:13:28,159 –> 01:13:31,280
مدل مشعل پی سپس pitoch می تواند این کار را انجام دهد
1638
01:13:31,280 –> 01:13:33,760
خط لوله کامل برای ما
1639
01:13:33,760 –> 01:13:36,719
بنابراین این ویدئو مراحل سه و
1640
01:13:36,719 –> 01:13:38,000
چهار
1641
01:13:38,000 –> 01:13:40,239
و لطفا آموزش قبلی رو ببینید
1642
01:13:40,239 –> 01:13:42,000
ابتدا مراحل را ببینید
1643
01:13:42,000 –> 01:13:46,320
یک و دو پس حالا بیایید شروع کنیم
1644
01:13:46,320 –> 01:13:48,880
و ابتدا می خواهم در مورد آن صحبت کنم
1645
01:13:48,880 –> 01:13:52,239
خط لوله آموزش عمومی در پایتورچ
1646
01:13:52,239 –> 01:13:55,920
بنابراین به طور معمول ما سه مرحله داریم
1647
01:13:55,920 –> 01:13:59,120
بنابراین اولین قدم طراحی است
1648
01:13:59,120 –> 01:14:03,360
مدل ما بنابراین ما طراحی می کنیم
1649
01:14:03,360 –> 01:14:06,640
تعداد ورودی ها و خروجی ها
1650
01:14:06,640 –> 01:14:10,000
بنابراین اندازه ورودی و
1651
01:14:10,000 –> 01:14:14,000
اندازه خروجی و سپس ما طراحی می کنیم
1652
01:14:14,000 –> 01:14:16,560
پاس رو به جلو با همه متفاوت
1653
01:14:16,560 –> 01:14:18,800
عملیات یا همه موارد مختلف
1654
01:14:18,800 –> 01:14:22,400
لایه ها و سپس به عنوان مرحله دوم
1655
01:14:22,400 –> 01:14:25,760
ما طراحی می کنیم یا به آن می رسیم
1656
01:14:25,760 –> 01:14:28,880
بنابراین ما ضرر را می سازیم
1657
01:14:28,880 –> 01:14:32,320
و بهینه ساز و سپس به عنوان یک
1658
01:14:32,320 –> 01:14:36,800
آخرین مرحله ما حلقه آموزشی خود را انجام می دهیم
1659
01:14:36,800 –> 01:14:39,840
بنابراین این حلقه آموزشی است
1660
01:14:39,840 –> 01:14:43,040
ما با انجام کارهای خود شروع می کنیم
1661
01:14:43,040 –> 01:14:46,640
پاس رو به جلو بنابراین در اینجا ما محاسبه می کنیم
1662
01:14:46,640 –> 01:14:49,600
یا بیایید این را بنویسیم و محاسبه کنیم
1663
01:14:49,600 –> 01:14:51,280
پیش بینی
1664
01:14:51,280 –> 01:14:54,400
سپس پاس رو به عقب را انجام می دهیم
1665
01:14:54,400 –> 01:14:59,040
به عقب رد می شود تا گرادیان ها را بدست آوریم
1666
01:14:59,040 –> 01:15:02,640
و پی مشعل می تواند همه چیز را برای ما انجام دهد
1667
01:15:02,640 –> 01:15:05,520
ما فقط باید خودمان را تعریف کنیم یا طراحی کنیم
1668
01:15:05,520 –> 01:15:06,719
مدل
1669
01:15:06,719 –> 01:15:10,159
بنابراین و بعد از آن، گرادیان ها را داریم
1670
01:15:10,159 –> 01:15:14,159
سپس می توانیم وزن خود را به روز کنیم
1671
01:15:14,159 –> 01:15:18,080
بنابراین اکنون وزن های خود را به روز می کنیم
1672
01:15:18,080 –> 01:15:20,320
و سپس این را چند بار تکرار می کنیم
1673
01:15:20,320 –> 01:15:22,320
زمان تا پایان کار
1674
01:15:22,320 –> 01:15:26,560
و این کل خط لوله است
1675
01:15:26,560 –> 01:15:31,040
حالا بیایید ادامه دهیم و حالا جایگزین کنیم
1676
01:15:31,040 –> 01:15:34,400
از دست دادن و بهینه سازی
1677
01:15:34,400 –> 01:15:38,159
بنابراین برای این ما وارد می کنیم
1678
01:15:38,159 –> 01:15:41,280
ماژول شبکه عصبی بنابراین ما وارد می کنیم
1679
01:15:41,280 –> 01:15:44,560
نقطه مشعل n n s
1680
01:15:44,560 –> 01:15:47,920
n n تا بتوانیم از مقداری استفاده کنیم
1681
01:15:47,920 –> 01:15:51,600
توابع از این و در حال حاضر ما نیست
1682
01:15:51,600 –> 01:15:53,520
می خواهند ضرر را تعریف کنند
1683
01:15:53,520 –> 01:15:56,880
دیگر به صورت دستی، بنابراین ما می توانیم به سادگی حذف کنیم
1684
01:15:56,880 –> 01:15:58,239
این
1685
01:15:58,239 –> 01:16:01,920
و حالا اوم اینجا پایین
1686
01:16:01,920 –> 01:16:04,719
قبل از آموزش ما هنوز نیاز داریم
1687
01:16:04,719 –> 01:16:06,000
ضرر ما را تعریف کنیم
1688
01:16:06,000 –> 01:16:09,120
بنابراین می توانیم بگوییم ضرر مساوی است
1689
01:16:09,120 –> 01:16:12,000
و در اینجا می توانیم از ضرری استفاده کنیم که هست
1690
01:16:12,000 –> 01:16:12,960
ارائه شده از
1691
01:16:12,960 –> 01:16:16,400
مشعل pi تا بتوانیم بگوییم nn dot
1692
01:16:16,400 –> 01:16:19,520
از دست دادن mse که دقیقاً همان چیزی است که ما داریم
1693
01:16:19,520 –> 01:16:20,800
قبلا اجرا شده است
1694
01:16:20,800 –> 01:16:23,840
بنابراین این میانگین مربعات خطا و
1695
01:16:23,840 –> 01:16:24,560
این یک است
1696
01:16:24,560 –> 01:16:28,080
تابع فراخوانی و سپس ما نیز می خواهیم
1697
01:16:28,080 –> 01:16:28,520
آ
1698
01:16:28,520 –> 01:16:31,480
بهینه ساز از شارژ پی بنابراین ما می گوییم
1699
01:16:31,480 –> 01:16:32,719
بهینه ساز
1700
01:16:32,719 –> 01:16:36,159
برابر با نقطه مشعل بهینه است
1701
01:16:36,159 –> 01:16:39,199
از ماژول بهینه سازی و سپس
1702
01:16:39,199 –> 01:16:42,480
در اینجا ما از sgd استفاده می کنیم که مخفف آن است
1703
01:16:42,480 –> 01:16:45,280
نزول گرادیان تصادفی
1704
01:16:45,280 –> 01:16:47,920
که به برخی از پارامترها نیاز دارد
1705
01:16:47,920 –> 01:16:50,080
پارامترهایی که باید بهینه شود
1706
01:16:50,080 –> 01:16:53,199
و به این به عنوان یک لیست نیاز دارد بنابراین ما
1707
01:16:53,199 –> 01:16:53,520
قرار دادن
1708
01:16:53,520 –> 01:16:56,560
ما اینجا و سپس آن را
1709
01:16:56,560 –> 01:17:00,159
همچنین به lr نیاز دارد تا میزان یادگیری
1710
01:17:00,159 –> 01:17:03,440
که یادگیری تعریف شده قبلی ماست
1711
01:17:03,440 –> 01:17:05,360
نرخ
1712
01:17:05,360 –> 01:17:09,120
و سپس در حلقه آموزشی ما
1713
01:17:09,120 –> 01:17:12,719
اوم، بنابراین محاسبه ضرر اکنون هنوز است
1714
01:17:12,719 –> 01:17:13,840
همان
1715
01:17:13,840 –> 01:17:16,239
زیرا این یک تابع فراخوانی است
1716
01:17:16,239 –> 01:17:17,679
که می شود
1717
01:17:17,679 –> 01:17:22,400
y واقعی و y پیش بینی شده
1718
01:17:22,400 –> 01:17:25,920
و سپس نیازی به انجام دستی نداریم
1719
01:17:25,920 –> 01:17:27,360
وزن هایمان را به روز کنیم
1720
01:17:27,360 –> 01:17:31,360
دیگر بنابراین می توانیم به سادگی بگوییم بهینه ساز
1721
01:17:31,360 –> 01:17:34,800
مرحله نقطه که بهینه سازی را انجام می دهد
1722
01:17:34,800 –> 01:17:35,840
گام
1723
01:17:35,840 –> 01:17:38,480
و سپس ما نیز هنوز باید خود را خالی کنیم
1724
01:17:38,480 –> 01:17:41,360
گرادیان بعد از مرحله بهینه سازی
1725
01:17:41,360 –> 01:17:44,480
بنابراین می توانیم بگوییم نقطه بهینه ساز
1726
01:17:44,480 –> 01:17:47,520
صفر درجه و
1727
01:17:47,520 –> 01:17:50,800
اکنون ما با مرحله سه به پایان رسیده ایم
1728
01:17:50,800 –> 01:17:54,480
بیایید این را اجرا کنیم تا ببینیم کار می کند یا خیر
1729
01:17:54,480 –> 01:17:58,239
و بنابراین بله هنوز هم کار می کند
1730
01:17:58,239 –> 01:18:00,960
پیش بینی بعد از آموزش خوب است
1731
01:18:00,960 –> 01:18:04,640
و بیایید با مرحله چهار ادامه دهیم
1732
01:18:04,640 –> 01:18:07,679
و به صورت دستی ما را جایگزین کنید
1733
01:18:07,679 –> 01:18:10,719
روش فوروارد با a
1734
01:18:10,719 –> 01:18:14,800
مدل پی مشعل بنابراین
1735
01:18:14,800 –> 01:18:19,199
امم برای این ام، اجازه دهید ما نیز نیازی نداریم
1736
01:18:19,199 –> 01:18:22,000
وزن های ما دیگر چون پس از آن پای ما
1737
01:18:22,000 –> 01:18:23,600
مدل مشعل می داند
1738
01:18:23,600 –> 01:18:26,719
پارامترها بنابراین
1739
01:18:26,719 –> 01:18:30,239
اوم اینجا می گوییم مدل
1740
01:18:30,239 –> 01:18:33,600
برابر nn نقطه است
1741
01:18:33,600 –> 01:18:37,040
خطی بنابراین معمولاً مجبور بودیم طراحی کنیم
1742
01:18:37,040 –> 01:18:39,120
این برای خودمان
1743
01:18:39,120 –> 01:18:41,840
اما از آنجایی که این بسیار پیش پا افتاده است
1744
01:18:41,840 –> 01:18:44,080
رگرسیون خطی بنابراین این تنها یکی است
1745
01:18:44,080 –> 01:18:44,719
لایه
1746
01:18:44,719 –> 01:18:48,480
این قبلاً در مشعل پی ارائه شده است
1747
01:18:48,480 –> 01:18:51,520
بنابراین این nn.خطی است
1748
01:18:51,520 –> 01:18:54,239
و این به یک اندازه ورودی و یک نیاز دارد
1749
01:18:54,239 –> 01:18:57,199
اندازه خروجی ویژگی های ما
1750
01:18:57,199 –> 01:18:59,440
و برای این ما نیاز به انجام برخی از
1751
01:18:59,440 –> 01:19:01,280
تغییر
1752
01:19:01,280 –> 01:19:04,880
بنابراین اکنون x و y ما
1753
01:19:04,880 –> 01:19:07,280
باید شکل متفاوتی داشته باشد پس این
1754
01:19:07,280 –> 01:19:08,159
باید a
1755
01:19:08,159 –> 01:19:11,199
آرایه 2 بعدی در حال حاضر
1756
01:19:11,199 –> 01:19:14,880
که در آن تعداد ردیف ها عدد است
1757
01:19:14,880 –> 01:19:15,199
از
1758
01:19:15,199 –> 01:19:18,719
نمونه ها و برای هر ردیف ما داریم
1759
01:19:18,719 –> 01:19:19,840
تعداد
1760
01:19:19,840 –> 01:19:23,360
یا نه ویژگی های آن است
1761
01:19:23,360 –> 01:19:26,560
این شکل جدیدی دارد
1762
01:19:26,560 –> 01:19:29,840
ام متاسفم
1763
01:19:31,600 –> 01:19:33,460
یک شکل جدید اوم
1764
01:19:33,460 –> 01:19:35,040
[موسیقی]
1765
01:19:35,040 –> 01:19:37,840
که شبیه این است
1766
01:19:38,640 –> 01:19:42,880
و برای y ما هم همینطور y ما
1767
01:19:42,880 –> 01:19:47,520
الان به همین شکل است پس 2
1768
01:19:47,520 –> 01:19:50,719
4 6
1769
01:19:50,719 –> 01:19:53,920
و 8 پس حالا بیایید
1770
01:19:53,920 –> 01:19:57,040
اوم شکل را دریافت کنید پس این است
1771
01:19:57,040 –> 01:20:00,320
حالا چرا مواظب باش
1772
01:20:00,320 –> 01:20:03,520
می توان تعداد نمونه را گفت
1773
01:20:03,520 –> 01:20:07,760
و تعداد امکانات
1774
01:20:07,760 –> 01:20:11,679
برابر شکل نقطه x است
1775
01:20:11,679 –> 01:20:14,880
و حالا بیایید این را چاپ کنیم تا چاپ کنید
1776
01:20:14,880 –> 01:20:15,920
عدد
1777
01:20:15,920 –> 01:20:19,120
از و تعداد
1778
01:20:19,120 –> 01:20:22,639
از ویژگی ها و اکنون اجازه دهید این را اجرا کنیم
1779
01:20:22,639 –> 01:20:23,920
این به یک
1780
01:20:23,920 –> 01:20:26,880
خطا اما من فکر می کنم ما تا اینجا به این نتیجه رسیدیم
1781
01:20:26,880 –> 01:20:27,520
شکل
1782
01:20:27,520 –> 01:20:30,480
اکنون چهار در یک است بنابراین ما چهار داریم
1783
01:20:30,480 –> 01:20:31,520
نمونه ها
1784
01:20:31,520 –> 01:20:34,719
و یک ویژگی برای هر نمونه
1785
01:20:34,719 –> 01:20:37,440
و اکنون مدل های خود را به این صورت تعریف می کنیم
1786
01:20:37,440 –> 01:20:38,000
نیاز به یک
1787
01:20:38,000 –> 01:20:41,360
اندازه ورودی و خروجی بنابراین
1788
01:20:41,360 –> 01:20:45,520
اندازه ورودی ورودی
1789
01:20:45,520 –> 01:20:49,520
برابر تعداد ویژگی ها است
1790
01:20:49,520 –> 01:20:53,120
و خروجی اندازه خروجی
1791
01:20:53,120 –> 01:20:56,639
اندازه هنوز یکسان است پس این نیز همینطور است
1792
01:20:56,639 –> 01:20:58,400
تعداد ویژگی ها بنابراین
1793
01:20:58,400 –> 01:21:01,520
این یکی به عنوان اندازه ورودی و یکی به عنوان است
1794
01:21:01,520 –> 01:21:01,760
یک
1795
01:21:01,760 –> 01:21:04,719
اندازه خروجی اکنون باید این را به آن بدهیم
1796
01:21:04,719 –> 01:21:05,199
ما
1797
01:21:05,199 –> 01:21:08,719
مدل بنابراین ما اینجا می گوییم اندازه ورودی
1798
01:21:08,719 –> 01:21:12,080
و اندازه خروجی
1799
01:21:12,080 –> 01:21:16,159
و سپس یکی دیگر یا پس از آن زمانی که ما
1800
01:21:16,159 –> 01:21:20,080
میخواهیم به سادگی پیشبینی کنیم
1801
01:21:20,080 –> 01:21:20,639
گفتن
1802
01:21:20,639 –> 01:21:23,760
می توانیم آنها را مدل um بنامیم
1803
01:21:23,760 –> 01:21:27,600
اما اکنون این نمی تواند یک مقدار شناور داشته باشد
1804
01:21:27,600 –> 01:21:28,080
پس این
1805
01:21:28,080 –> 01:21:31,520
باید یک تانسور باشد پس بیایید a ایجاد کنیم
1806
01:21:31,520 –> 01:21:36,080
تست تانسور فرض کنید x تست
1807
01:21:36,080 –> 01:21:40,560
برابر است با تانسور نقطه مشعل
1808
01:21:40,560 –> 01:21:43,760
که تنها یک نمونه با
1809
01:21:43,760 –> 01:21:48,239
پنج و سپس یک نوع داده می شود
1810
01:21:48,239 –> 01:21:52,080
شناور نقطه مشعل 32
1811
01:21:52,080 –> 01:21:56,800
و سپس در اینجا نمونه آزمایشی را پاس کردیم
1812
01:21:56,800 –> 01:22:00,159
و از آنجایی که این تنها یک چاه است
1813
01:22:00,159 –> 01:22:03,040
فقط یک مقدار دارد که می توانیم آن را نقطه بنامیم
1814
01:22:03,040 –> 01:22:04,800
مورد برای دریافت واقعی
1815
01:22:04,800 –> 01:22:08,159
ارزش شناور پس از آن است
1816
01:22:08,159 –> 01:22:12,239
حالا بیایید این را در اینجا کپی و جایگذاری کنیم
1817
01:22:12,239 –> 01:22:15,440
ام و
1818
01:22:15,440 –> 01:22:19,760
اکنون ما نیز باید خود را اصلاح کنیم
1819
01:22:19,760 –> 01:22:22,320
بهینه ساز در اینجا بنابراین ما خودمان را نداریم
1820
01:22:22,320 –> 01:22:23,679
وزن ها در حال حاضر
1821
01:22:23,679 –> 01:22:28,400
بنابراین این لیست با پارامترهای اینجا ما
1822
01:22:28,400 –> 01:22:30,000
به سادگی می توان گفت
1823
01:22:30,000 –> 01:22:33,520
پارامترهای نقطه مدل
1824
01:22:33,520 –> 01:22:37,120
و این تابع و را فراخوانی کنید
1825
01:22:37,120 –> 01:22:40,960
اکنون اینجا برای پیش بینی است
1826
01:22:40,960 –> 01:22:45,360
ما همچنین به سادگی مدل را صدا می کنیم
1827
01:22:45,360 –> 01:22:48,400
و در حال حاضر ما تمام شده است بنابراین در حال حاضر ما
1828
01:22:48,400 –> 01:22:51,520
از مشعل پی استفاده می کنند
1829
01:22:51,520 –> 01:22:54,719
مدل برای بدست آوردن این و
1830
01:22:54,719 –> 01:22:58,480
همچنین اگر بخواهیم چاپ کنیم همین الان پایین
1831
01:22:58,480 –> 01:23:00,159
آنها را دوباره ما باید
1832
01:23:00,159 –> 01:23:04,880
آنها را باز کنید تا بگوییم
1833
01:23:04,880 –> 01:23:08,239
w و یک سوگیری اختیاری
1834
01:23:08,239 –> 01:23:12,960
برابر پارامترهای مدل است
1835
01:23:12,960 –> 01:23:15,760
این آنها را باز می کند و سپس اگر ما
1836
01:23:15,760 –> 01:23:16,639
خواستن
1837
01:23:16,639 –> 01:23:20,159
چاپ واقعی این یک لیست خواهد بود
1838
01:23:20,159 –> 01:23:23,679
از لیست ها، پس بیایید آن را دریافت کنیم
1839
01:23:23,679 –> 01:23:27,840
اول یا اول واقعی
1840
01:23:27,840 –> 01:23:31,520
وزن با این و ما همچنین می توانیم تماس بگیرید
1841
01:23:31,520 –> 01:23:33,520
مورد چون ما نمی خواهیم ببینیم
1842
01:23:33,520 –> 01:23:35,360
تانسور
1843
01:23:35,360 –> 01:23:38,480
و اکنون فکر می کنم کار ما تمام شده است
1844
01:23:38,480 –> 01:23:40,800
پس بیایید این را اجرا کنیم تا ببینیم آیا این است
1845
01:23:40,800 –> 01:23:42,000
کار کردن
1846
01:23:42,000 –> 01:23:45,920
و بله همینطور
1847
01:23:45,920 –> 01:23:49,040
خروجی نهایی um نیست
1848
01:23:49,040 –> 01:23:52,480
عالی است بنابراین این ممکن است به این دلیل باشد
1849
01:23:52,480 –> 01:23:56,000
مقداردهی اولیه در حال حاضر به صورت تصادفی است
1850
01:23:56,000 –> 01:23:58,800
و همچنین این تکنیک بهینه ساز ممکن است
1851
01:23:58,800 –> 01:24:00,719
کمی متفاوت باشید تا شاید بخواهید
1852
01:24:00,719 –> 01:24:02,880
به بازی در اطراف بازی با
1853
01:24:02,880 –> 01:24:04,320
میزان یادگیری و تعداد
1854
01:24:04,320 –> 01:24:05,600
تکرارها
1855
01:24:05,600 –> 01:24:08,560
اما اساسا کار می کند و می شود
1856
01:24:08,560 –> 01:24:10,480
بهتر و بهتر
1857
01:24:10,480 –> 01:24:14,320
با هر قدم و بله همینطور است
1858
01:24:14,320 –> 01:24:17,040
چگونه می توانیم کل آموزش را بسازیم
1859
01:24:17,040 –> 01:24:18,320
خط لوله
1860
01:24:18,320 –> 01:24:22,800
و یک چیز دیگر در این مورد
1861
01:24:22,800 –> 01:24:25,520
اوم ما مجبور نبودیم بیایم بالا
1862
01:24:25,520 –> 01:24:28,080
با الگویی برای خودمان
1863
01:24:28,080 –> 01:24:31,679
بنابراین در اینجا ما فقط یک لایه داشتیم
1864
01:24:31,679 –> 01:24:34,080
و این قبلاً در pi ارائه شده بود
1865
01:24:34,080 –> 01:24:35,040
مشعل
1866
01:24:35,040 –> 01:24:38,719
اما بیایید بگوییم که به یک مدل سفارشی نیاز داریم
1867
01:24:38,719 –> 01:24:42,800
پس بیایید یک خطی سفارشی بنویسیم
1868
01:24:42,800 –> 01:24:46,080
مدل رگرسیون پس از آن ما باید
1869
01:24:46,080 –> 01:24:49,199
این را از nn dot استخراج کنید
1870
01:24:49,199 –> 01:24:53,040
ماژول و این یک را دریافت می کند
1871
01:24:53,040 –> 01:24:56,800
روش init
1872
01:24:56,800 –> 01:25:00,639
که خود را دارد و کدام را می گیرد
1873
01:25:00,639 –> 01:25:03,840
ابعاد ورودی
1874
01:25:03,840 –> 01:25:07,360
و ابعاد خروجی
1875
01:25:07,360 –> 01:25:10,639
و سپس در اینجا ما سوپر را فوق العاده می نامیم
1876
01:25:10,639 –> 01:25:12,639
کلاس خیلی فوق العاده
1877
01:25:12,639 –> 01:25:16,159
um از رگرسیون خطی با خود
1878
01:25:16,159 –> 01:25:19,760
و سپس نقطه شروع به این صورت است که ما تماس می گیریم
1879
01:25:19,760 –> 01:25:22,080
سازنده فوق العاده
1880
01:25:22,080 –> 01:25:26,239
و در اینجا ما لایه های خود را تعریف می کنیم
1881
01:25:26,239 –> 01:25:29,520
پس در این صورت خودمان را می گوییم
1882
01:25:29,520 –> 01:25:33,760
خط نقطه یا لایه خطی برابر است
1883
01:25:33,760 –> 01:25:36,880
nn نقطه خطی
1884
01:25:36,880 –> 01:25:40,639
و این بعد ورودی را دریافت می کند
1885
01:25:40,639 –> 01:25:44,239
و بعد خروجی و سپس ما
1886
01:25:44,239 –> 01:25:45,679
آنها را اینجا ذخیره کنید
1887
01:25:45,679 –> 01:25:49,120
و سپس ما نیز باید آن را پیاده سازی کنیم
1888
01:25:49,120 –> 01:25:53,280
پاس رو به جلو در ما
1889
01:25:53,280 –> 01:25:57,120
کلاس مدل بنابراین خود و x
1890
01:25:57,120 –> 01:26:00,719
و در اینجا ما می توانیم به سادگی برگردیم
1891
01:26:00,719 –> 01:26:04,080
خود نقطه خطی از
1892
01:26:04,080 –> 01:26:08,000
x و این همه چیز است و
1893
01:26:08,000 –> 01:26:11,760
حالا می توانیم مدل خود را بگوییم
1894
01:26:11,760 –> 01:26:15,760
برابر است با رگرسیون خطی
1895
01:26:15,760 –> 01:26:20,719
با اندازه ورودی و اندازه خروجی
1896
01:26:20,719 –> 01:26:23,360
و اکنون این همان کار را انجام خواهد داد
1897
01:26:23,360 –> 01:26:25,760
اکنون این فقط یک مثال ساختگی است زیرا
1898
01:26:25,760 –> 01:26:26,880
این یک است
1899
01:26:26,880 –> 01:26:29,600
لفاف ساده ای که دقیقاً این کار را انجام می دهد
1900
01:26:29,600 –> 01:26:30,400
یکسان
1901
01:26:30,400 –> 01:26:33,600
اما اساساً ما اینگونه طراحی می کنیم
1902
01:26:33,600 –> 01:26:36,800
مدل pi تاچ بنابراین در حال حاضر
1903
01:26:36,800 –> 01:26:39,199
بیایید این را نظر بدهیم و از آن استفاده کنیم
1904
01:26:39,199 –> 01:26:42,080
کلاس برای دیدن اینکه آیا این کار می کند یا خیر
1905
01:26:42,080 –> 01:26:46,639
و بله پس هنوز هم کار می کند
1906
01:26:46,639 –> 01:26:50,560
این همه در حال حاضر و در حال حاضر pi touch می تواند
1907
01:26:50,560 –> 01:26:52,639
بیشتر کارها را برای ما انجام دهید
1908
01:26:52,639 –> 01:26:54,639
البته ما هنوز باید خودمان را طراحی کنیم
1909
01:26:54,639 –> 01:26:56,239
مدل و باید بدانیم کدام
1910
01:26:56,239 –> 01:26:59,120
از دست دادن و بهینه ساز ما می خواهیم استفاده کنیم اما ما
1911
01:26:59,120 –> 01:27:01,280
لازم نیست نگران موارد زیرین باشید
1912
01:27:01,280 –> 01:27:04,800
الگوریتم ها دیگر پس بله
1913
01:27:04,800 –> 01:27:07,040
می توانید تمام کدها را در github و پیدا کنید
1914
01:27:07,040 –> 01:27:07,920
اگر این را دوست دارید
1915
01:27:07,920 –> 01:27:09,760
لطفا عضو کانال شوید و ببینید
1916
01:27:09,760 –> 01:27:18,320
شما دفعه بعد خداحافظ
1917
01:27:18,320 –> 01:27:20,560
سلام به همه خوش آمدید به یک پای جدید
1918
01:27:20,560 –> 01:27:21,920
آموزش مشعل
1919
01:27:21,920 –> 01:27:24,560
این بار رگرسیون خطی را اجرا می کنیم
1920
01:27:24,560 –> 01:27:26,320
بنابراین ما قبلاً این را اجرا کردیم
1921
01:27:26,320 –> 01:27:28,239
گام به گام در آخرین دو
1922
01:27:28,239 –> 01:27:29,520
آموزش ها
1923
01:27:29,520 –> 01:27:31,360
و این باید در جایی که ما تکرار شود
1924
01:27:31,360 –> 01:27:33,760
می تواند تمام مفاهیم آموخته شده را به کار گیرد و
1925
01:27:33,760 –> 01:27:36,560
دوباره الگوریتم خود را به سرعت پیاده سازی کنید
1926
01:27:36,560 –> 01:27:39,040
بنابراین همانطور که من قبل از نمونه ما به شما نشان دادم
1927
01:27:39,040 –> 01:27:41,920
خط لوله پایتورچ از این سه مورد تشکیل شده است
1928
01:27:41,920 –> 01:27:43,280
مراحل
1929
01:27:43,280 –> 01:27:46,400
ابتدا مدل خود را طراحی می کنیم پس تعریف می کنیم
1930
01:27:46,400 –> 01:27:46,719
را
1931
01:27:46,719 –> 01:27:49,040
اندازه ورودی و خروجی و سپس
1932
01:27:49,040 –> 01:27:50,560
پاس رو به جلو
1933
01:27:50,560 –> 01:27:52,880
سپس ضرر و بهینه ساز خود را ایجاد می کنیم
1934
01:27:52,880 –> 01:27:53,679
کارکرد
1935
01:27:53,679 –> 01:27:55,920
و سپس حلقه آموزش واقعی را انجام می دهیم
1936
01:27:55,920 –> 01:27:58,239
با پاس رو به جلو پاس رو به عقب
1937
01:27:58,239 –> 01:28:00,080
و وزن به روز می شود
1938
01:28:00,080 –> 01:28:03,360
پس بیایید این کار را انجام دهیم و اول از همه
1939
01:28:03,360 –> 01:28:05,520
ما چند چیز را وارد می کنیم
1940
01:28:05,520 –> 01:28:06,480
نیاز است
1941
01:28:06,480 –> 01:28:10,080
بیایید مشعل وارد کنیم سپس ما
1942
01:28:10,080 –> 01:28:13,600
واردات مشعل نقطه nn
1943
01:28:13,600 –> 01:28:16,639
n n بنابراین ماژول شبکه عصبی
1944
01:28:16,639 –> 01:28:20,080
سپس numpy را به عنوان وارد می کنیم
1945
01:28:20,080 –> 01:28:22,400
np فقط برای ایجاد مقداری داده
1946
01:28:22,400 –> 01:28:24,080
تحولات
1947
01:28:24,080 –> 01:28:28,400
و سپس از sk Learn داده ها را وارد می کنیم
1948
01:28:28,400 –> 01:28:31,199
تنظیم می شود بنابراین می خواهیم یک رگرسیون ایجاد کنیم
1949
01:28:31,199 –> 01:28:32,800
مجموعه داده
1950
01:28:32,800 –> 01:28:35,840
و سپس ما همچنین می خواهیم این را بعداً ترسیم کنیم
1951
01:28:35,840 –> 01:28:36,400
بنابراین
1952
01:28:36,400 –> 01:28:39,600
من می گویم matplotlib dot را وارد کنید
1953
01:28:39,600 –> 01:28:43,679
نمودار pi به عنوان plt
1954
01:28:43,679 –> 01:28:46,400
و سپس ما سه مرحله خود را انجام می دهیم تا ما
1955
01:28:46,400 –> 01:28:48,560
مدل را طراحی کنید
1956
01:28:48,560 –> 01:28:52,880
مرحله شماره یک سپس مرحله شماره دو
1957
01:28:52,880 –> 01:28:59,199
ما ضرر و بهینه ساز را تعریف می کنیم
1958
01:28:59,440 –> 01:29:03,040
و سپس مرحله شماره سه ما
1959
01:29:03,040 –> 01:29:06,560
حلقه آموزش پس بیایید این کار را انجام دهیم
1960
01:29:06,560 –> 01:29:10,080
و اول از همه بیایید یک مرحله انجام دهیم
1961
01:29:10,080 –> 01:29:13,280
0 جایی که ما داده های خود را آماده می کنیم
1962
01:29:13,280 –> 01:29:16,400
بنابراین داده ها را آماده کنید
1963
01:29:16,400 –> 01:29:19,440
بیایید یک مجموعه داده رگرسیون ایجاد کنیم
1964
01:29:19,440 –> 01:29:22,880
و ما می توانیم این کار را با گفتن بیایید تماس بگیریم
1965
01:29:22,880 –> 01:29:23,280
این
1966
01:29:23,280 –> 01:29:26,320
x numpy و y
1967
01:29:26,320 –> 01:29:30,000
numpy برابر است و سپس می توانیم استفاده کنیم
1968
01:29:30,000 –> 01:29:33,040
مجموعه داده نقطه می سازد
1969
01:29:33,040 –> 01:29:37,040
رگرسیون که فرضاً 100 می شود
1970
01:29:37,040 –> 01:29:40,320
نمونه بنابراین n نمونه
1971
01:29:40,320 –> 01:29:44,000
برابر با 100 و فقط یک است
1972
01:29:44,000 –> 01:29:46,960
ویژگی در این مثال بنابراین n ویژگی
1973
01:29:46,960 –> 01:29:48,560
برابر با یک
1974
01:29:48,560 –> 01:29:51,520
سپس مقداری نویز اضافه می کنیم و اجازه دهید
1975
01:29:51,520 –> 01:29:52,080
a اضافه کنید
1976
01:29:52,080 –> 01:29:56,080
حالت تصادفی فرض کنید این یکی است
1977
01:29:56,080 –> 01:29:59,360
و سپس می خواهیم این را به a تبدیل کنیم
1978
01:29:59,360 –> 01:30:02,880
تانسور مشعل پس می گوییم x
1979
01:30:02,880 –> 01:30:05,679
برابر است و سپس می توانیم از تابع استفاده کنیم
1980
01:30:05,679 –> 01:30:06,239
مشعل
1981
01:30:06,239 –> 01:30:09,360
نقطه از numpy
1982
01:30:09,360 –> 01:30:13,199
و سپس می گوییم x نقطه
1983
01:30:13,199 –> 01:30:16,719
x زیرخط ناقص است اما ما می خواهیم
1984
01:30:16,719 –> 01:30:17,840
این را به
1985
01:30:17,840 –> 01:30:21,120
یک داده float32
1986
01:30:21,120 –> 01:30:24,000
نوع داده قبلاً بنابراین در حال حاضر این یک است
1987
01:30:24,000 –> 01:30:24,639
دو برابر
1988
01:30:24,639 –> 01:30:28,159
نوع داده بنابراین اگر در اینجا از یک دوبل استفاده کنیم
1989
01:30:28,159 –> 01:30:28,960
سپس ما
1990
01:30:28,960 –> 01:30:31,760
بعداً با خطاهایی مواجه خواهد شد، پس بیایید
1991
01:30:31,760 –> 01:30:32,159
فقط
1992
01:30:32,159 –> 01:30:35,840
این را با گفتن s تبدیل کنید
1993
01:30:35,840 –> 01:30:39,199
تایپ کنید و سپس بگویید numpy dot float
1994
01:30:39,199 –> 01:30:42,800
32 و ما همین کار را انجام می دهیم
1995
01:30:42,800 –> 01:30:46,639
برای y ما پس می گوییم y
1996
01:30:46,639 –> 01:30:50,080
برابر است با تانسور مشعل از ما
1997
01:30:50,080 –> 01:30:53,600
آرایه numpy و
1998
01:30:53,600 –> 01:30:56,960
حالا بیایید y خود را نیز تغییر شکل دهیم
1999
01:30:56,960 –> 01:31:00,000
زیرا در حال حاضر این یک است
2000
01:31:00,000 –> 01:31:03,360
فقط یک ردیف دارد و ما می خواهیم آن را بسازیم
2001
01:31:03,360 –> 01:31:03,600
آ
2002
01:31:03,600 –> 01:31:06,000
بردار ستون بنابراین می خواهیم هر کدام را قرار دهیم
2003
01:31:06,000 –> 01:31:07,520
ارزش در یک
2004
01:31:07,520 –> 01:31:11,280
ردیف و کل شکل فقط یک دارد
2005
01:31:11,280 –> 01:31:14,960
ستون پس بیایید بگوییم
2006
01:31:14,960 –> 01:31:18,639
y برابر است با نمای نقطه
2007
01:31:18,639 –> 01:31:22,159
و در اینجا اندازه جدید so y را قرار می دهیم
2008
01:31:22,159 –> 01:31:26,080
شکل نقطه صفر پس عدد
2009
01:31:26,080 –> 01:31:29,440
از ارزش ها و سپس تنها یک
2010
01:31:29,440 –> 01:31:33,360
ستون بنابراین روش view داخلی است
2011
01:31:33,360 –> 01:31:34,639
مشعل پی
2012
01:31:34,639 –> 01:31:37,679
روشی که ما را تغییر می دهد
2013
01:31:37,679 –> 01:31:41,679
تانسور و سپس بیایید عدد را بدست آوریم
2014
01:31:41,679 –> 01:31:44,719
نمونه ها و تعداد
2015
01:31:44,719 –> 01:31:48,480
ویژگی های با گفتن این x نقطه است
2016
01:31:48,480 –> 01:31:51,520
شکل تا بتوانیم در یک ثانیه از آن استفاده کنیم
2017
01:31:51,520 –> 01:31:53,920
و حالا بیایید سه مرحله خود را انجام دهیم
2018
01:31:53,920 –> 01:31:55,440
ما داده ها را داریم
2019
01:31:55,440 –> 01:31:58,719
اکنون مدل را تعریف می کنیم و در
2020
01:31:58,719 –> 01:32:00,239
مورد رگرسیون خطی
2021
01:32:00,239 –> 01:32:03,440
این فقط یک لایه است بنابراین ما
2022
01:32:03,440 –> 01:32:07,679
بنابراین می توانیم برای ساخت مدل خطی استفاده کنیم
2023
01:32:07,679 –> 01:32:10,719
و بنابراین ما می گوییم مدل
2024
01:32:10,719 –> 01:32:15,199
برابر n n نقطه خطی است
2025
01:32:15,199 –> 01:32:18,159
و این لایه خطی است که نیاز دارد
2026
01:32:18,159 –> 01:32:18,560
آ
2027
01:32:18,560 –> 01:32:21,840
اندازه ورودی ویژگی های ما و یک خروجی
2028
01:32:21,840 –> 01:32:22,400
اندازه
2029
01:32:22,400 –> 01:32:26,320
بنابراین اندازه ورودی را فرض کنید
2030
01:32:26,320 –> 01:32:29,920
برابر این تعداد ویژگی است
2031
01:32:29,920 –> 01:32:32,000
ما داریم پس این فقط یکی در ماست
2032
01:32:32,000 –> 01:32:33,199
مثال
2033
01:32:33,199 –> 01:32:36,880
و اندازه خروجی برابر با یک است
2034
01:32:36,880 –> 01:32:40,400
بنابراین ما فقط می خواهیم یک ارزش داشته باشیم
2035
01:32:40,400 –> 01:32:43,120
برای هر نمونه ای که می خواهیم قرار دهیم
2036
01:32:43,120 –> 01:32:44,080
بنابراین
2037
01:32:44,080 –> 01:32:46,880
مدل ما اکنون ورودی و مقدار را دریافت می کند
2038
01:32:46,880 –> 01:32:48,000
اندازه خروجی
2039
01:32:48,000 –> 01:32:51,520
بنابراین اندازه ورودی و اندازه خروجی
2040
01:32:51,520 –> 01:32:54,000
و این تمام کاری است که ما باید انجام دهیم تا راه اندازی شود
2041
01:32:54,000 –> 01:32:55,199
مدل
2042
01:32:55,199 –> 01:32:58,239
و حالا بیایید با از دست دادن و
2043
01:32:58,239 –> 01:33:00,320
بهینه ساز
2044
01:33:00,320 –> 01:33:04,080
پس بیایید این معیار را بنامیم
2045
01:33:04,080 –> 01:33:07,360
و در اینجا می توانیم از یک داخلی استفاده کنیم
2046
01:33:07,360 –> 01:33:10,000
تابع از دست دادن از پی مشعل و در
2047
01:33:10,000 –> 01:33:11,120
مورد از
2048
01:33:11,120 –> 01:33:13,360
رگرسیون خطی این میانگین است
2049
01:33:13,360 –> 01:33:16,000
مربع خطا بنابراین می توانیم بگوییم این است
2050
01:33:16,000 –> 01:33:19,440
nn نقطه mse از دست دادن
2051
01:33:19,440 –> 01:33:21,840
این میانگین مجذور را محاسبه می کند
2052
01:33:21,840 –> 01:33:22,800
خطا
2053
01:33:22,800 –> 01:33:25,920
بنابراین این یک تابع فراخوانی است
2054
01:33:25,920 –> 01:33:29,280
و سپس بهینه سازها را نیز راه اندازی کردیم
2055
01:33:29,280 –> 01:33:31,960
بنابراین ما می گوییم
2056
01:33:31,960 –> 01:33:35,040
بهینه ساز برابر است
2057
01:33:35,040 –> 01:33:38,320
و بیایید بگوییم نقطه مشعل
2058
01:33:38,320 –> 01:33:41,760
Optim dot sgd
2059
01:33:41,760 –> 01:33:45,360
بنابراین این نزول گرادیان تصادفی است
2060
01:33:45,360 –> 01:33:48,560
و بهینه ساز ما به پارامترها نیاز دارد
2061
01:33:48,560 –> 01:33:50,880
که باید بهینه شود تا اینجا بتوانیم
2062
01:33:50,880 –> 01:33:51,840
به سادگی بگو
2063
01:33:51,840 –> 01:33:55,600
این پارامترهای نقطه مدل است
2064
01:33:55,600 –> 01:33:58,320
و سپس به نرخ یادگیری نیاز دارد
2065
01:33:58,320 –> 01:33:58,960
اجازه دهید
2066
01:33:58,960 –> 01:34:01,760
این را در اینجا به عنوان یک متغیر تعریف کنید پس اجازه دهید
2067
01:34:01,760 –> 01:34:02,159
گفتن
2068
01:34:02,159 –> 01:34:05,280
نرخ یادگیری برابر است
2069
01:34:05,280 –> 01:34:08,320
فرض کنید 0.01
2070
01:34:08,320 –> 01:34:11,360
و سپس lr برابر است
2071
01:34:11,360 –> 01:34:15,440
سرعت یادگیری پس این مرحله شماره دو است
2072
01:34:15,440 –> 01:34:18,480
و حالا بیایید حلقه آموزشی خود را انجام دهیم
2073
01:34:18,480 –> 01:34:21,440
اول از همه بیایید تعداد را تعریف کنیم
2074
01:34:21,440 –> 01:34:23,360
دوره ها
2075
01:34:23,360 –> 01:34:26,480
فرض کنید می خواهیم 100 تمرین انجام دهیم
2076
01:34:26,480 –> 01:34:27,440
تکرارها
2077
01:34:27,440 –> 01:34:31,040
و در حال حاضر برای دوره در
2078
01:34:31,040 –> 01:34:34,159
محدوده تعداد دوره
2079
01:34:34,159 –> 01:34:37,199
و اکنون در اینجا ما مراحل خود را انجام می دهیم
2080
01:34:37,199 –> 01:34:39,760
در حلقه تمرینی پاس رو به جلو
2081
01:34:39,760 –> 01:34:41,119
پاس رو به عقب
2082
01:34:41,119 –> 01:34:44,239
و به روز رسانی و وزن به روز رسانی
2083
01:34:44,239 –> 01:34:47,840
پس بیایید اول از همه کار رو به جلو انجام دهیم
2084
01:34:47,840 –> 01:34:51,360
عبور و همچنین ضرر در اینجا
2085
01:34:51,360 –> 01:34:55,280
سپس پاس به عقب و سپس
2086
01:34:55,280 –> 01:34:58,880
به روز رسانی تا پاس رو به جلو و ضرر
2087
01:34:58,880 –> 01:35:00,560
در اینجا می توانیم بگوییم
2088
01:35:00,560 –> 01:35:05,360
y مساوی را پیش بینی کرد و در اینجا ما را فراخوانی می کنیم
2089
01:35:05,360 –> 01:35:09,040
مدل و به عنوان یک داده دریافت می کند
2090
01:35:09,040 –> 01:35:12,000
x و بنابراین این پاس رو به جلو و است
2091
01:35:12,000 –> 01:35:14,320
سپس زیان را با گفتن محاسبه می کنیم
2092
01:35:14,320 –> 01:35:17,679
ضرر برابر است با این ما
2093
01:35:17,679 –> 01:35:20,960
cri ما به این معیار می گوییم
2094
01:35:20,960 –> 01:35:24,639
و این نیاز به برچسب های واقعی و
2095
01:35:24,639 –> 01:35:26,639
مقادیر پیش بینی شده است
2096
01:35:26,639 –> 01:35:30,800
چرا پیش بینی شده و چرا
2097
01:35:30,800 –> 01:35:33,199
و اکنون در پاس عقب به
2098
01:35:33,199 –> 01:35:35,040
شیب ها را محاسبه کنید
2099
01:35:35,040 –> 01:35:38,400
ما فقط می گوییم از دست دادن نقطه به عقب پس این
2100
01:35:38,400 –> 01:35:40,320
پس انتشار و
2101
01:35:40,320 –> 01:35:42,080
محاسبه گرادیان برای
2102
01:35:42,080 –> 01:35:46,080
ما و سپس به روز رسانی ما در اینجا ما به سادگی
2103
01:35:46,080 –> 01:35:46,880
گفتن
2104
01:35:46,880 –> 01:35:50,480
بهینه ساز نقطه مرحله بنابراین این خواهد شد
2105
01:35:50,480 –> 01:35:53,840
به روز رسانی وزن و سپس
2106
01:35:53,840 –> 01:35:56,320
قبل از تکرار بعدی باید باشیم
2107
01:35:56,320 –> 01:35:56,880
مراقب باشید
2108
01:35:56,880 –> 01:36:00,960
بنابراین اکنون باید گرادیان های خود را خالی کنیم
2109
01:36:00,960 –> 01:36:03,360
زیرا هر زمان که عقب مانده را صدا کنیم
2110
01:36:03,360 –> 01:36:04,480
عملکرد این خواهد بود
2111
01:36:04,480 –> 01:36:07,760
گرادیان ها را در نقطه خلاصه کنید
2112
01:36:07,760 –> 01:36:12,639
grad بنابراین اکنون می خواهیم دوباره این را خالی کنیم
2113
01:36:12,639 –> 01:36:15,920
و ما به سادگی می گوییم نقطه بهینه ساز
2114
01:36:15,920 –> 01:36:19,119
درجه صفر پس هرگز نباید
2115
01:36:19,119 –> 01:36:23,199
این را فراموش کن و ما هستیم
2116
01:36:23,199 –> 01:36:26,719
با حلقه آموزشی نیز انجام می شود
2117
01:36:26,719 –> 01:36:30,639
برخی از اطلاعات را چاپ کنید، بنابراین بیایید بگوییم اگر
2118
01:36:30,639 –> 01:36:34,400
دوره به اضافه یک مدول
2119
01:36:34,400 –> 01:36:38,000
ده ها مساوی است با صفر پس هر
2120
01:36:38,000 –> 01:36:40,960
مرحله دهم می خواهیم تعدادی را چاپ کنیم
2121
01:36:40,960 –> 01:36:42,080
اطلاعات
2122
01:36:42,080 –> 01:36:46,080
پس بیایید دوره را چاپ کنیم
2123
01:36:46,080 –> 01:36:49,119
و در اینجا می گوییم epoch plus
2124
01:36:49,119 –> 01:36:52,560
یک و بیایید از دست دادن را نیز چاپ کنیم
2125
01:36:52,560 –> 01:36:53,360
ضرر – زیان
2126
01:36:53,360 –> 01:36:56,480
برابر است و در اینجا می توان گفت باخت
2127
01:36:56,480 –> 01:37:00,480
مورد نقطه و بیایید این را قالب بندی کنیم
2128
01:37:00,480 –> 01:37:03,920
پس بیایید طرح یا چاپ کنیم
2129
01:37:03,920 –> 01:37:08,080
فقط چهار مقدار اعشاری
2130
01:37:08,080 –> 01:37:10,639
بنابراین اکنون کار ما تمام شده است و اکنون نیز اجازه دهید
2131
01:37:10,639 –> 01:37:11,679
این را طرح کنید
2132
01:37:11,679 –> 01:37:14,800
پس بیایید بگوییم
2133
01:37:14,800 –> 01:37:18,000
بیایید تمام مقادیر پیش بینی شده را بدست آوریم
2134
01:37:18,000 –> 01:37:21,360
با گفتن مساوی های پیش بینی شده
2135
01:37:21,360 –> 01:37:25,360
در اینجا ما مدل نهایی خود را اکنون مدل می نامیم
2136
01:37:25,360 –> 01:37:29,119
x و با تمام داده ها
2137
01:37:29,119 –> 01:37:31,920
و اکنون می خواهیم این را به numpy تبدیل کنیم
2138
01:37:31,920 –> 01:37:32,960
دوباره برگشتن
2139
01:37:32,960 –> 01:37:35,920
اما قبل از انجام این کار می خواهیم جدا شویم
2140
01:37:35,920 –> 01:37:36,320
ما
2141
01:37:36,320 –> 01:37:39,040
تانسور بنابراین ما می خواهیم از این جلوگیری کنیم
2142
01:37:39,040 –> 01:37:40,880
عملیات از
2143
01:37:40,880 –> 01:37:43,920
در نمودار ما ردیابی می شود
2144
01:37:43,920 –> 01:37:47,119
در نمودار محاسباتی ما چون درست است
2145
01:37:47,119 –> 01:37:47,600
اکنون
2146
01:37:47,600 –> 01:37:50,960
این تانسور ام
2147
01:37:50,960 –> 01:37:53,760
در اینجا من یک اشتباه تایپی پیش بینی کرده ام بنابراین این
2148
01:37:53,760 –> 01:37:55,199
تانسور دارای
2149
01:37:55,199 –> 01:37:59,119
آرگومان گرادیان مورد نیاز روی true تنظیم شده است
2150
01:37:59,119 –> 01:38:02,000
اما اکنون می خواهیم که این سقوط دروغ باشد
2151
01:38:02,000 –> 01:38:02,960
بنابراین این خواهد شد
2152
01:38:02,960 –> 01:38:06,960
یک تانسور جدید در جایی که گرادیان ما ایجاد می کنیم
2153
01:38:06,960 –> 01:38:10,080
ویژگی محاسبه نادرست است
2154
01:38:10,080 –> 01:38:12,480
بنابراین این تانسور جدید ما است و سپس ما
2155
01:38:12,480 –> 01:38:14,719
اکنون فقط تابع numpy را فراخوانی می کنیم
2156
01:38:14,719 –> 01:38:15,679
تبدیل آن به
2157
01:38:15,679 –> 01:38:19,360
numpy و حالا این را رسم کنید، بگذارید بگوییم
2158
01:38:19,360 –> 01:38:22,719
ابتدا تمام داده های ما را رسم کنید
2159
01:38:22,719 –> 01:38:26,400
بنابراین x numpy و y
2160
01:38:26,400 –> 01:38:30,000
numpy و ما می خواهیم این را ترسیم کنیم
2161
01:38:30,000 –> 01:38:33,679
به عنوان نقطه های قرمز و سپس ما
2162
01:38:33,679 –> 01:38:36,360
میخواهیم یا تولید شدهمان را رسم کنیم
2163
01:38:36,360 –> 01:38:39,440
توابع تقریبی پس بیایید بگوییم
2164
01:38:39,440 –> 01:38:42,880
نمودار نقطهای plt
2165
01:38:42,880 –> 01:38:46,560
x numpy در محور x
2166
01:38:46,560 –> 01:38:49,760
و برچسب های پیش بینی شده ما روی
2167
01:38:49,760 –> 01:38:53,679
محور y و بیایید این را در آن ترسیم کنیم
2168
01:38:53,679 –> 01:38:56,880
آبی و سپس می گوییم plt dot
2169
01:38:56,880 –> 01:39:00,239
نشان دهید و حالا بیایید این را اجرا کنیم
2170
01:39:00,239 –> 01:39:03,760
و امیدوارم همه چیز درست باشد
2171
01:39:03,760 –> 01:39:07,119
و حالا این
2172
01:39:07,119 –> 01:39:10,480
طرح در اینجا ظاهر می شود، بنابراین اکنون می بینیم که ما
2173
01:39:10,480 –> 01:39:10,880
دارند
2174
01:39:10,880 –> 01:39:14,480
یک تقریب بسیار خوب از داده های ما
2175
01:39:14,480 –> 01:39:17,280
با این خط و می بینیم که این است
2176
01:39:17,280 –> 01:39:18,719
کار کردن
2177
01:39:18,719 –> 01:39:21,040
و بله، اکنون کار ما تمام شده است، امیدوارم شما
2178
01:39:21,040 –> 01:39:22,320
از این لذت برد
2179
01:39:22,320 –> 01:39:24,320
اگر این را دوست دارید لطفا در آن مشترک شوید
2180
01:39:24,320 –> 01:39:26,239
کانال و دفعه بعد میبینمت
2181
01:39:26,239 –> 01:39:28,480
خدا حافظ
2182
01:39:34,000 –> 01:39:36,080
سلام به همه خوش آمدید به یک پای جدید
2183
01:39:36,080 –> 01:39:37,119
آموزش مشعل
2184
01:39:37,119 –> 01:39:38,880
این بار ما لجستیک را پیاده سازی می کنیم
2185
01:39:38,880 –> 01:39:40,880
رگرسیون اگر شما تماشا کرده اید
2186
01:39:40,880 –> 01:39:42,719
آموزش های قبلی پس این باید باشد
2187
01:39:42,719 –> 01:39:44,080
الان خیلی راحت
2188
01:39:44,080 –> 01:39:46,080
یک بار دیگر ما معمولی خود را اجرا می کنیم
2189
01:39:46,080 –> 01:39:49,119
خط لوله پایتورچ با آن سه مرحله
2190
01:39:49,119 –> 01:39:51,840
بنابراین ابتدا مدل خود را که تعریف می کنیم تنظیم می کنیم
2191
01:39:51,840 –> 01:39:52,719
ورودی و
2192
01:39:52,719 –> 01:39:55,600
اندازه خروجی و پاس رو به جلو و سپس ما
2193
01:39:55,600 –> 01:39:56,159
ایجاد کردن
2194
01:39:56,159 –> 01:39:58,880
از دست دادن و توابع بهینه ساز و
2195
01:39:58,880 –> 01:40:01,119
سپس حلقه آموزش واقعی را با آن انجام می دهیم
2196
01:40:01,119 –> 01:40:03,440
پاس به جلو پاس به عقب و
2197
01:40:03,440 –> 01:40:04,000
وزن
2198
01:40:04,000 –> 01:40:07,040
به روز رسانی کد اینجا باید بسیار باشد
2199
01:40:07,040 –> 01:40:09,440
مشابه کد آموزش قبلی
2200
01:40:09,440 –> 01:40:12,159
جایی که ما رگرسیون خطی را اجرا کردیم
2201
01:40:12,159 –> 01:40:14,400
ما فقط باید تنظیمات جزئی انجام دهیم
2202
01:40:14,400 –> 01:40:15,360
برای مدل
2203
01:40:15,360 –> 01:40:17,840
و تابع ضرر، بنابراین یک مورد دیگر اضافه می کنیم
2204
01:40:17,840 –> 01:40:19,280
لایه به مدل ما
2205
01:40:19,280 –> 01:40:21,679
و یک تابع ضرر متفاوت را انتخاب می کنیم
2206
01:40:21,679 –> 01:40:24,639
از pytorch ریخته شده در توابع
2207
01:40:24,639 –> 01:40:28,000
پس بیایید اول از همه شروع کنیم اجازه دهید
2208
01:40:28,000 –> 01:40:30,719
بیایید چیزهایی را وارد کنیم که به آن نیاز داریم
2209
01:40:30,719 –> 01:40:32,000
ما وارد می کنیم
2210
01:40:32,000 –> 01:40:35,840
مشعل البته و ما مشعل نقطه وارد می کنیم
2211
01:40:35,840 –> 01:40:36,159
n
2212
01:40:36,159 –> 01:40:40,000
n s n n بنابراین ماژول شبکه عصبی
2213
01:40:40,000 –> 01:40:43,360
سپس numpy s و p را وارد می کنیم
2214
01:40:43,360 –> 01:40:46,400
سپس تغییراتی در داده ها ایجاد کنید
2215
01:40:46,400 –> 01:40:46,719
از جانب
2216
01:40:46,719 –> 01:40:50,400
s k یاد بگیرید که مجموعه داده ها را وارد می کنیم
2217
01:40:50,400 –> 01:40:54,159
برای بارگذاری یک طبقه بندی باینری
2218
01:40:54,159 –> 01:40:58,400
مجموعه داده ها سپس از
2219
01:40:58,400 –> 01:41:02,840
sk یادگیری نقطه پیش پردازش ما می خواهیم
2220
01:41:02,840 –> 01:41:06,239
اسکالا استاندارد را وارد کنیم زیرا ما می خواهیم
2221
01:41:06,239 –> 01:41:08,560
مقیاس ویژگی های ما
2222
01:41:08,560 –> 01:41:11,920
و سپس از مدل sklearn dot
2223
01:41:11,920 –> 01:41:13,119
انتخاب ما
2224
01:41:13,119 –> 01:41:16,480
واردات قطار تست تقسیم چون ما می خواهیم
2225
01:41:16,480 –> 01:41:19,040
برای داشتن جدایی از
2226
01:41:19,040 –> 01:41:22,320
داده های آموزشی و آزمایشی
2227
01:41:22,320 –> 01:41:25,840
و حالا بیایید سه مرحله خود را انجام دهیم
2228
01:41:25,840 –> 01:41:29,520
ابتدا می خواهیم مدل را تنظیم کنیم
2229
01:41:29,520 –> 01:41:32,800
سپس می خواهیم ضرر و زیان را تنظیم کنیم
2230
01:41:32,800 –> 01:41:36,800
بهینه ساز و سپس در مرحله سوم
2231
01:41:36,800 –> 01:41:38,080
ما انجام می دهیم
2232
01:41:38,080 –> 01:41:41,360
حلقه آموزش واقعی و
2233
01:41:41,360 –> 01:41:47,199
در مرحله 0 می خواهیم داده ها را آماده کنیم
2234
01:41:47,199 –> 01:41:50,880
پس بیایید این کار را انجام دهیم تا بارگذاری کنیم
2235
01:41:50,880 –> 01:41:54,400
مجموعه داده های سرطان سینه از sklearn so
2236
01:41:54,400 –> 01:41:56,400
می توان گفت قبل از میلاد
2237
01:41:56,400 –> 01:42:00,639
برابر است با بار نقطه مجموعه داده ها
2238
01:42:00,639 –> 01:42:03,600
سرطان سینه این یک دوتایی است
2239
01:42:03,600 –> 01:42:05,840
مشکل طبقه بندی جایی که می توانیم
2240
01:42:05,840 –> 01:42:06,400
پیش بینی
2241
01:42:06,400 –> 01:42:09,679
مفهوم بر اساس ویژگی های ورودی
2242
01:42:09,679 –> 01:42:13,040
پس بیایید x و y را بگوییم
2243
01:42:13,040 –> 01:42:16,639
برابر است با داده نقطه bc و
2244
01:42:16,639 –> 01:42:21,440
bc dot target و بعد می خواهیم بگوییم
2245
01:42:21,440 –> 01:42:23,440
خوب اول از همه بیایید دریافت کنیم
2246
01:42:23,440 –> 01:42:25,199
تعداد نمونه ها
2247
01:42:25,199 –> 01:42:28,320
و تعداد ویژگی ها با گفتن
2248
01:42:28,320 –> 01:42:28,800
این
2249
01:42:28,800 –> 01:42:31,840
نقطه x است
2250
01:42:31,840 –> 01:42:36,159
شکل اوم پس بیایید ابتدا این را چاپ کنیم
2251
01:42:36,159 –> 01:42:38,719
چاپ تعداد نمونه و
2252
01:42:38,719 –> 01:42:39,679
تعداد
2253
01:42:39,679 –> 01:42:43,280
ویژگی هایی برای دیدن اینکه مجموعه داده های ما چگونه به نظر می رسد
2254
01:42:43,280 –> 01:42:44,800
پسندیدن
2255
01:42:44,800 –> 01:42:49,920
و می بینیم که 569 نمونه داریم
2256
01:42:49,920 –> 01:42:53,199
و 30 ویژگی مختلف بسیار زیاد
2257
01:42:53,199 –> 01:42:55,119
ویژگی های اینجا
2258
01:42:55,119 –> 01:42:58,560
و حالا بیایید ادامه دهیم و تقسیم کنیم
2259
01:42:58,560 –> 01:42:59,440
داده های ما
2260
01:42:59,440 –> 01:43:03,360
وقتی می گوییم قطار x
2261
01:43:03,360 –> 01:43:08,560
و x تست و
2262
01:43:08,560 –> 01:43:12,000
تست بعدی و آموزش y
2263
01:43:12,000 –> 01:43:15,520
و آزمون y برابر است
2264
01:43:15,520 –> 01:43:18,000
در اینجا می توانیم از تقسیم تست قطار استفاده کنیم
2265
01:43:18,000 –> 01:43:19,199
عملکرد
2266
01:43:19,199 –> 01:43:23,199
جایی که x و y را قرار می دهیم
2267
01:43:23,199 –> 01:43:26,639
و ما میخواهیم آزمون باشیم
2268
01:43:26,639 –> 01:43:30,239
سایز 20 باشه
2269
01:43:30,239 –> 01:43:33,440
پس این 0.2 است
2270
01:43:33,440 –> 01:43:36,880
و اجازه دهید به این حالت تصادفی نیز بدهیم
2271
01:43:36,880 –> 01:43:40,159
مساوی است فرض کنید یک دو سه چهار
2272
01:43:40,159 –> 01:43:43,199
و این باید یک باشد
2273
01:43:43,199 –> 01:43:46,239
اس های کوچک و
2274
01:43:46,239 –> 01:43:50,159
حالا بیایید تبدیل کنیم یا اول از همه
2275
01:43:50,159 –> 01:43:53,520
اکنون می خواهیم ویژگی های خود را مقیاس بندی کنیم
2276
01:43:53,520 –> 01:43:56,480
مقیاس آنها را در اینجا ما یک استاندارد تنظیم می کنیم
2277
01:43:56,480 –> 01:43:57,280
اسکالر
2278
01:43:57,280 –> 01:44:00,960
sc برابر است با اسکالر استاندارد
2279
01:44:00,960 –> 01:44:04,400
که ویژگی های ما را خواهد ساخت
2280
01:44:04,400 –> 01:44:07,760
میانگین و واریانس واحد صفر داشته باشد
2281
01:44:07,760 –> 01:44:10,800
انجام این کار همیشه توصیه می شود
2282
01:44:10,800 –> 01:44:14,159
وقتی می خواهیم با یک لجستیک سر و کار داشته باشیم
2283
01:44:14,159 –> 01:44:16,239
پسرفت
2284
01:44:16,239 –> 01:44:19,520
بنابراین اکنون داده های خود را مقیاس می کنیم تا بگوییم
2285
01:44:19,520 –> 01:44:23,040
قطار x برابر است
2286
01:44:23,040 –> 01:44:27,280
تبدیل دات فیت sc
2287
01:44:27,280 –> 01:44:30,719
و سپس به عنوان ورودی x قرار می دهیم
2288
01:44:30,719 –> 01:44:34,000
آموزش دهید و سپس ما می خواهیم همین کار را انجام دهیم
2289
01:44:34,000 –> 01:44:36,880
چیزی با داده های آزمایشی ما، بنابراین می گوییم x
2290
01:44:36,880 –> 01:44:37,760
تست
2291
01:44:37,760 –> 01:44:42,040
برابر است با نقطه sc در اینجا فقط ما
2292
01:44:42,040 –> 01:44:45,140
تبدیلش کن
2293
01:44:45,140 –> 01:44:46,639
[موسیقی]
2294
01:44:46,639 –> 01:44:50,560
و در اینجا تست x قرار داده ایم
2295
01:44:50,560 –> 01:44:53,040
اکنون ما داده های خود را مقیاس بندی کردیم و اکنون می خواهیم
2296
01:44:53,040 –> 01:44:54,719
تبدیل آن به
2297
01:44:54,719 –> 01:44:58,159
اوه تانسورهای مشعل
2298
01:44:58,159 –> 01:45:01,280
بیایید بگوییم قطار x
2299
01:45:01,280 –> 01:45:05,199
برابر است با نقطه مشعل و سپس اینجا می توانیم
2300
01:45:05,199 –> 01:45:06,560
از تابع استفاده کنید
2301
01:45:06,560 –> 01:45:10,159
از numpy و سپس
2302
01:45:10,159 –> 01:45:14,440
x قطار را گذاشتیم و آن را به a ریختیم
2303
01:45:14,440 –> 01:45:17,040
نوع داده float32 بنابراین می گوییم
2304
01:45:17,040 –> 01:45:21,840
x قطار نوع s
2305
01:45:21,840 –> 01:45:25,119
شناور نقطه ناتوانی 32
2306
01:45:25,119 –> 01:45:27,760
زیرا در حال حاضر این از نوع double است
2307
01:45:27,760 –> 01:45:30,000
و سپس با برخی از خطاها مواجه خواهیم شد
2308
01:45:30,000 –> 01:45:32,639
بعداً بیایید این را پخش کنیم و تبدیل کنیم
2309
01:45:32,639 –> 01:45:34,480
این به یک تانسور
2310
01:45:34,480 –> 01:45:38,239
و حالا بیایید این کار را با بقیه انجام دهیم
2311
01:45:38,239 –> 01:45:42,840
آرایه ها، پس فرض کنید x را تست کنید
2312
01:45:42,840 –> 01:45:46,880
مساوی است با این
2313
01:45:46,880 –> 01:45:50,080
و قطار ما
2314
01:45:50,080 –> 01:45:53,360
و همچنین y ما
2315
01:45:53,360 –> 01:45:56,880
تست تانسور um
2316
01:45:56,880 –> 01:45:59,840
تست y
2317
01:46:00,400 –> 01:46:03,280
و در حال حاضر به عنوان آخرین چیزی که ما را آماده کنیم
2318
01:46:03,280 –> 01:46:04,800
داده ها به
2319
01:46:04,800 –> 01:46:08,080
y ما را دوباره شکل بده
2320
01:46:08,080 –> 01:46:11,280
تانسورها بنابراین y آموزش دهید
2321
01:46:11,280 –> 01:46:14,639
برابر y قطار است
2322
01:46:14,639 –> 01:46:17,840
نمای نقطه ای این داخلی است
2323
01:46:17,840 –> 01:46:21,199
عملکرد از مشعل پی که تغییر شکل می دهد
2324
01:46:21,199 –> 01:46:24,320
تانسور ما با اندازه داده شده است
2325
01:46:24,320 –> 01:46:28,880
اندازه قطار y می شود
2326
01:46:28,880 –> 01:46:33,440
ام نقطه شکل صفر
2327
01:46:33,440 –> 01:46:37,119
و یکی همین الان
2328
01:46:37,119 –> 01:46:40,719
y ما فقط یک ردیف دارد
2329
01:46:40,719 –> 01:46:43,199
و می خواهیم آن را به صورت بردار ستونی در آوریم
2330
01:46:43,199 –> 01:46:45,920
بنابراین می خواهیم هر مقدار را در یک ردیف قرار دهیم
2331
01:46:45,920 –> 01:46:49,119
تنها با یک ستون بنابراین این کار انجام می شود
2332
01:46:49,119 –> 01:46:50,639
دقیقا این
2333
01:46:50,639 –> 01:46:54,400
و همچنین برای تست y ما تا y
2334
01:46:54,400 –> 01:46:57,760
تست برابر با این y است
2335
01:46:57,760 –> 01:47:00,159
تست
2336
01:47:00,800 –> 01:47:05,040
و حالا ما هستیم فکر می کنم هستیم
2337
01:47:05,040 –> 01:47:08,480
با آماده سازی داده های ما انجام شد
2338
01:47:08,480 –> 01:47:12,159
بنابراین اکنون بیایید مدل خود را تنظیم کنیم
2339
01:47:12,159 –> 01:47:15,440
و مدل ما اینجاست
2340
01:47:15,440 –> 01:47:18,719
ترکیبی خطی از وزن ها
2341
01:47:18,719 –> 01:47:22,400
و تعصب و سپس در
2342
01:47:22,400 –> 01:47:25,760
مورد رگرسیون لجستیک را اعمال می کنیم
2343
01:47:25,760 –> 01:47:29,199
تابع سیگموئید در انتها
2344
01:47:29,199 –> 01:47:32,000
پس بیایید این کار را انجام دهیم و برای این کار می خواهیم
2345
01:47:32,000 –> 01:47:32,800
ما را بنویس
2346
01:47:32,800 –> 01:47:36,480
کلاس خود را پس بیایید این مدل را صدا کنیم
2347
01:47:36,480 –> 01:47:39,679
یا می توانیم این را لجستیک نیز بنامیم
2348
01:47:39,679 –> 01:47:42,400
پسرفت
2349
01:47:42,400 –> 01:47:45,300
فقط رگرسیون را علامت بزنید
2350
01:47:45,300 –> 01:47:46,719
[موسیقی]
2351
01:47:46,719 –> 01:47:50,000
و این باید از n مشتق شود
2352
01:47:50,000 –> 01:47:53,600
و ماژول نقطه و
2353
01:47:53,600 –> 01:47:57,679
سپس این یک در آن دریافت کنید
2354
01:47:57,679 –> 01:48:00,960
که خود دارد و سپس
2355
01:48:00,960 –> 01:48:06,320
تعداد ورودی را دریافت می کند
2356
01:48:06,560 –> 01:48:10,880
ویژگی ها و در اینجا ابتدا ما را فراخوانی می کنیم
2357
01:48:10,880 –> 01:48:12,000
فوق العاده
2358
01:48:12,000 –> 01:48:15,119
در آن پس بیایید بگوییم فوق العاده است
2359
01:48:15,119 –> 01:48:19,119
رگرسیون لجستیک و خود
2360
01:48:19,119 –> 01:48:23,600
نقطه در آن و سپس در اینجا ما تعریف می کنیم
2361
01:48:23,600 –> 01:48:28,119
لایه ما بنابراین ما فقط یک لایه داریم
2362
01:48:28,119 –> 01:48:31,360
self.linear برابر است و در اینجا می توانیم استفاده کنیم
2363
01:48:31,360 –> 01:48:32,000
ساخت
2364
01:48:32,000 –> 01:48:35,840
در لایه n n نقطه خطی
2365
01:48:35,840 –> 01:48:39,119
و این اندازه ورودی را به دست می آورد
2366
01:48:39,119 –> 01:48:42,159
و ویژگی های ورودی و
2367
01:48:42,159 –> 01:48:45,199
اندازه خروجی فقط یک است
2368
01:48:45,199 –> 01:48:48,800
ما فقط می خواهیم یک مقدار یک کلاس داشته باشیم
2369
01:48:48,800 –> 01:48:51,040
در انتها برچسب بزنید
2370
01:48:51,040 –> 01:48:54,000
و سپس ما نیز باید آن را پیاده سازی کنیم
2371
01:48:54,000 –> 01:48:56,159
اینجا پاس رو به جلو
2372
01:48:56,159 –> 01:48:59,760
که دارای خود و داده است
2373
01:48:59,760 –> 01:49:02,560
و پاس رو به جلو ما ابتدا درخواست می کنیم
2374
01:49:02,560 –> 01:49:04,320
لایه خطی
2375
01:49:04,320 –> 01:49:07,440
و سپس تابع سیگموید بنابراین در اینجا ما
2376
01:49:07,440 –> 01:49:08,400
گفتن
2377
01:49:08,400 –> 01:49:12,080
y پیش بینی کرد
2378
01:49:12,840 –> 01:49:15,599
برابر است با نقطه مشعل
2379
01:49:15,599 –> 01:49:19,440
sigmoid بنابراین این نیز داخلی است
2380
01:49:19,440 –> 01:49:20,960
عملکردی که می توانیم استفاده کنیم
2381
01:49:20,960 –> 01:49:25,119
و در اینجا ما لایه self.linear خود را اعمال می کنیم
2382
01:49:25,119 –> 01:49:28,560
بنابراین لایه خطی با داده های ما x
2383
01:49:28,560 –> 01:49:32,800
و سپس y پیش بینی شده خود را برمی گردانیم
2384
01:49:32,800 –> 01:49:34,800
بنابراین این مدل ماست و حالا بیایید
2385
01:49:34,800 –> 01:49:36,400
این مدل را ایجاد کنید
2386
01:49:36,400 –> 01:49:39,679
برابر با رگرسیون لجستیک است
2387
01:49:39,679 –> 01:49:43,520
از اندازه و در اینجا تعداد را قرار می دهیم
2388
01:49:43,520 –> 01:49:46,800
ویژگی هایی که اکنون لایه ما داریم
2389
01:49:46,800 –> 01:49:47,840
اندازه است
2390
01:49:47,840 –> 01:49:50,960
30 در یک
2391
01:49:50,960 –> 01:49:55,360
و با عرض پوزش 30 ویژگی ورودی
2392
01:49:55,360 –> 01:49:58,719
و یک ویژگی خروجی و
2393
01:49:58,719 –> 01:50:02,159
اکنون ما مدل خود را داریم و اکنون می توانیم
2394
01:50:02,159 –> 01:50:03,760
به باخت ادامه بده
2395
01:50:03,760 –> 01:50:06,800
و بهینه ساز برای ضرر
2396
01:50:06,800 –> 01:50:09,440
تابع ضرر در حال حاضر متفاوت از
2397
01:50:09,440 –> 01:50:11,599
در حالت رگرسیون خطی بنابراین
2398
01:50:11,599 –> 01:50:15,280
در اینجا می گوییم معیار برابر است
2399
01:50:15,280 –> 01:50:18,639
nn نقطه قبل از از دست دادن
2400
01:50:18,639 –> 01:50:22,639
بنابراین از دست دادن آنتروپی متقاطع باینری در اینجا
2401
01:50:22,639 –> 01:50:26,239
و بهینه ساز ما هم همینطور است
2402
01:50:26,239 –> 01:50:28,000
می تواند باشد
2403
01:50:28,000 –> 01:50:31,760
اوم این نقطه مشعل است
2404
01:50:31,760 –> 01:50:35,040
نقطه بهینه s g
2405
01:50:35,040 –> 01:50:39,119
d برای نزول گرادیان تصادفی
2406
01:50:39,119 –> 01:50:41,760
و این برخی از پارامترها را دریافت می کند که ما
2407
01:50:41,760 –> 01:50:44,159
می خواهید بهینه سازی کنید بنابراین در اینجا ما فقط می گوییم
2408
01:50:44,159 –> 01:50:44,880
مدل
2409
01:50:44,880 –> 01:50:48,560
پارامترهای نقطه و همچنین نیاز به a
2410
01:50:48,560 –> 01:50:53,199
نرخ یادگیری پس بیایید بگوییم ما
2411
01:50:53,199 –> 01:50:56,840
نرخ یادگیری برابر است
2412
01:50:56,840 –> 01:51:00,239
0.01 و سپس در اینجا می گوییم lr
2413
01:51:00,239 –> 01:51:04,320
برابر با نرخ یادگیری است، بنابراین اکنون این مرحله است
2414
01:51:04,320 –> 01:51:04,800
دو
2415
01:51:04,800 –> 01:51:08,639
و اکنون مرحله سه را تعریف کنیم
2416
01:51:08,639 –> 01:51:09,199
عدد
2417
01:51:09,199 –> 01:51:13,679
از دوره ها برابر است فرض کنید 100
2418
01:51:13,679 –> 01:51:16,400
تکرارها و اکنون ما آموزش خود را انجام می دهیم
2419
01:51:16,400 –> 01:51:17,679
حلقه
2420
01:51:17,679 –> 01:51:21,679
بنابراین در حال حاضر ما برای دوران
2421
01:51:21,679 –> 01:51:24,719
در محدوده شماره
2422
01:51:24,719 –> 01:51:28,800
دوره ها و سپس ابتدا آن را انجام می دهیم
2423
01:51:28,800 –> 01:51:32,080
به جلو پاس به جلو
2424
01:51:32,080 –> 01:51:35,679
عبور و محاسبه ضرر و سپس ما انجام می دهیم
2425
01:51:35,679 –> 01:51:36,639
عقب مانده
2426
01:51:36,639 –> 01:51:41,280
عبور کنید و سپس به روز رسانی را انجام می دهیم
2427
01:51:41,280 –> 01:51:44,320
پس بیایید بگوییم y
2428
01:51:44,320 –> 01:51:49,119
برابر پیش بینی شده در اینجا ما مدل خود را می نامیم
2429
01:51:49,119 –> 01:51:52,639
um و به عنوان داده x می شود
2430
01:51:52,639 –> 01:51:55,679
قطار و بعد می گوییم
2431
01:51:55,679 –> 01:51:59,599
ضرر برابر است با معیار
2432
01:51:59,599 –> 01:52:02,960
و این یک y دریافت می کند
2433
01:52:02,960 –> 01:52:06,000
پیش بینی شده و واقعی
2434
01:52:06,000 –> 01:52:09,679
y آموزش پس نمونه های آموزشی
2435
01:52:09,679 –> 01:52:12,639
یا برچسب های آموزشی و حالا ما این کار را انجام می دهیم
2436
01:52:12,639 –> 01:52:14,480
پاس به عقب و محاسبه
2437
01:52:14,480 –> 01:52:15,679
شیب ها
2438
01:52:15,679 –> 01:52:18,800
و دوباره ما به سادگی باید با گم شده تماس بگیریم
2439
01:52:18,800 –> 01:52:21,599
نقطه به عقب و پی مشعل همه کار را انجام می دهند
2440
01:52:21,599 –> 01:52:23,920
محاسبات برای ما
2441
01:52:23,920 –> 01:52:27,360
و اکنون وزنهایمان را بهروزرسانی میکنیم، بنابراین اینجا هستیم
2442
01:52:27,360 –> 01:52:28,840
به سادگی باید گفت
2443
01:52:28,840 –> 01:52:32,159
مرحله بهینه ساز نقطه و دوباره
2444
01:52:32,159 –> 01:52:34,880
پی مشعل تمام به روز رسانی را انجام می دهد
2445
01:52:34,880 –> 01:52:37,119
محاسبات برای ما
2446
01:52:37,119 –> 01:52:41,119
و پس از آن ما فراموش نمی کنیم یا نباید فراموش کنیم
2447
01:52:41,119 –> 01:52:41,440
به
2448
01:52:41,440 –> 01:52:44,639
دوباره شیب های ما را خالی کنید
2449
01:52:44,639 –> 01:52:48,159
یک دو صفر گرادیان ها چون
2450
01:52:48,159 –> 01:52:51,280
تابع عقب در اینجا همیشه خواهد بود
2451
01:52:51,280 –> 01:52:54,480
تمام گرادیان ها را به آن اضافه کنید
2452
01:52:54,480 –> 01:52:58,080
ویژگی dot grad پس بیایید آنها را خالی کنیم
2453
01:52:58,080 –> 01:53:01,119
دوباره قبل از تکرار بعدی و ما
2454
01:53:01,119 –> 01:53:04,080
به سادگی باید بگوییم نقطه بهینه ساز
2455
01:53:04,080 –> 01:53:08,800
صفر درجه و سپس اجازه دهید همچنین
2456
01:53:08,800 –> 01:53:12,320
چاپ برخی از اطلاعات اگر epoch plus
2457
01:53:12,320 –> 01:53:16,639
یک مدول 10 برابر با صفر است
2458
01:53:16,639 –> 01:53:20,320
بنابراین هر دهمین قدم ما می خواهیم
2459
01:53:20,320 –> 01:53:23,760
برخی از اطلاعات را چاپ کنید، اجازه دهید از یک f استفاده کنیم
2460
01:53:23,760 –> 01:53:25,119
رشته اینجا
2461
01:53:25,119 –> 01:53:28,400
بیایید بگوییم دوره
2462
01:53:28,400 –> 01:53:31,840
و در اینجا می توانیم از epoch plus استفاده کنیم
2463
01:53:31,840 –> 01:53:35,679
یک و سپس ما نیز می خواهیم
2464
01:53:35,679 –> 01:53:39,440
ضرر را ببین پس ضرر برابر است
2465
01:53:39,440 –> 01:53:43,040
از دست دادن آیتم نقطه و اجازه دهید
2466
01:53:43,040 –> 01:53:46,800
این را طوری فرمت کنید که فقط چهار چاپ شود
2467
01:53:46,800 –> 01:53:49,599
مقادیر اعشاری
2468
01:53:49,599 –> 01:53:54,719
و بله، پس در حال حاضر ما تمام شده است
2469
01:53:54,719 –> 01:53:57,760
اجرای رگرسیون لجستیک و
2470
01:53:57,760 –> 01:53:58,639
حالا وقته
2471
01:53:58,639 –> 01:54:01,840
مدل ما را ارزیابی کنید تا
2472
01:54:01,840 –> 01:54:04,880
ارزیابی نباید بخشی باشد
2473
01:54:04,880 –> 01:54:08,000
از نمودار محاسباتی ما که در آن ما
2474
01:54:08,000 –> 01:54:11,520
میخواهیم تاریخ را دنبال کنیم، بنابراین میخواهیم
2475
01:54:11,520 –> 01:54:11,920
گفتن
2476
01:54:11,920 –> 01:54:14,960
با نقطه مشعل شماره
2477
01:54:14,960 –> 01:54:18,000
عالی است و سپس ما را انجام دهید
2478
01:54:18,000 –> 01:54:20,960
ارزیابی در اینجا بنابراین اینجا می خواهم دریافت کنم
2479
01:54:20,960 –> 01:54:22,239
دقت
2480
01:54:22,239 –> 01:54:26,159
پس بیایید همه پیش بینی ها را دریافت کنیم
2481
01:54:26,159 –> 01:54:29,760
کلاس های آزمون ما
2482
01:54:29,760 –> 01:54:33,119
نمونه ها پس بیایید بگوییم این مدل است
2483
01:54:33,119 –> 01:54:36,800
و در اینجا تست x قرار داده ایم
2484
01:54:36,800 –> 01:54:40,480
و سپس اجازه دهید این را به
2485
01:54:40,480 –> 01:54:43,679
برچسب های کلاس صفر یا یک
2486
01:54:43,679 –> 01:54:46,560
بنابراین تابع سیگموئید را در اینجا به خاطر بسپارید
2487
01:54:46,560 –> 01:54:46,960
اراده
2488
01:54:46,960 –> 01:54:50,159
مقداری بین صفر و
2489
01:54:50,159 –> 01:54:54,880
یکی و اگر این بزرگتر از
2490
01:54:54,880 –> 01:54:57,679
نقطه پنج می گوییم این کلاس یک است و
2491
01:54:57,679 –> 01:55:01,199
در غیر این صورت کلاس صفر است پس بیایید بگوییم y
2492
01:55:01,199 –> 01:55:05,040
کلاس های پیش بینی شده برابر است
2493
01:55:05,040 –> 01:55:08,080
y نقطه را پیش بینی کرد
2494
01:55:08,080 –> 01:55:11,119
گرد، بنابراین در اینجا می توانیم از یک داخلی استفاده کنیم
2495
01:55:11,119 –> 01:55:12,800
دوباره عملکرد
2496
01:55:12,800 –> 01:55:15,840
و این دقیقا این کار را انجام می دهد
2497
01:55:15,840 –> 01:55:19,040
و بله اگر این کار را انجام دهیم
2498
01:55:19,040 –> 01:55:22,239
از این عبارت استفاده نکنید پس این کار را می کند
2499
01:55:22,239 –> 01:55:22,639
بودن
2500
01:55:22,639 –> 01:55:26,080
بخشی از نمودار محاسباتی
2501
01:55:26,080 –> 01:55:28,080
و شیب را دنبال می کند
2502
01:55:28,080 –> 01:55:29,599
محاسبات برای ما
2503
01:55:29,599 –> 01:55:31,840
بنابراین در اینجا ما این را نمی خواهیم ما به آن نیاز نداریم
2504
01:55:31,840 –> 01:55:33,440
این به این دلیل است که ما تمام شده ایم
2505
01:55:33,440 –> 01:55:35,920
بنابراین به همین دلیل است که ما از این با عبارت استفاده می کنیم
2506
01:55:35,920 –> 01:55:36,960
اینجا
2507
01:55:36,960 –> 01:55:40,560
و حالا بیایید دقت را بر اساس محاسبه کنیم
2508
01:55:40,560 –> 01:55:43,840
گفتن قبول مساوی
2509
01:55:43,840 –> 01:55:47,599
y کلاس ها را پیش بینی کرد
2510
01:55:47,599 –> 01:55:51,360
و در اینجا می توانیم تابع برابر را فراخوانی کنیم
2511
01:55:51,360 –> 01:55:56,000
برابر است با آزمون y
2512
01:55:56,000 –> 01:56:00,320
و سپس مجموع بنابراین می خواهیم جمع کنیم
2513
01:56:00,320 –> 01:56:03,199
آنها را برای هر پیش بینی که است
2514
01:56:03,199 –> 01:56:04,400
اصلاح خواهد شد
2515
01:56:04,400 –> 01:56:08,159
اوه اضافه یک
2516
01:56:08,159 –> 01:56:11,280
و سپس این را بر تقسیم می کنیم
2517
01:56:11,280 –> 01:56:15,520
تعداد نمونه نمونه های آزمایشی
2518
01:56:15,520 –> 01:56:20,080
بنابراین شکل نقطه را آزمایش کنید
2519
01:56:20,080 –> 01:56:23,840
صفر این تعداد تست را برمی گرداند
2520
01:56:23,840 –> 01:56:25,119
نمونه ها
2521
01:56:25,119 –> 01:56:28,800
و سپس دقت خود را چاپ کنیم
2522
01:56:28,800 –> 01:56:32,239
دقت چاپ
2523
01:56:32,239 –> 01:56:35,760
برابر با ام
2524
01:56:35,760 –> 01:56:39,119
ack dot 0.4 f
2525
01:56:39,119 –> 01:56:42,320
همچنین فقط برای مقادیر اعشاری و
2526
01:56:42,320 –> 01:56:45,119
حالا بیایید این را اجرا کنیم و امیدوار باشیم که
2527
01:56:45,119 –> 01:56:47,840
همه چیز درست است
2528
01:56:47,840 –> 01:56:52,080
و اسکالر استاندارد دارد
2529
01:56:52,080 –> 01:56:55,360
هیچ ویژگی تبدیل بنابراین
2530
01:56:55,360 –> 01:57:00,239
در اینجا من یک تبدیل اشتباه تایپی دارم
2531
01:57:00,239 –> 01:57:03,520
حالا بیایید دوباره این را اجرا کنیم
2532
01:57:06,760 –> 01:57:10,560
فرم انتقال
2533
01:57:10,560 –> 01:57:13,360
یک تلاش دیگر
2534
01:57:13,840 –> 01:57:16,480
و در حال حاضر ما تمام شده است و ما یک
2535
01:57:16,480 –> 01:57:17,360
دقت
2536
01:57:17,360 –> 01:57:20,400
از 0.89 پس همینطور است
2537
01:57:20,400 –> 01:57:23,280
خوب است اما کامل نیست بنابراین
2538
01:57:23,280 –> 01:57:25,440
ممکن است بخواهید با آن بازی کنید
2539
01:57:25,440 –> 01:57:26,719
مثال
2540
01:57:26,719 –> 01:57:30,560
تعداد تکرارها و
2541
01:57:30,560 –> 01:57:33,520
کجا داریم
2542
01:57:35,520 –> 01:57:38,159
تعداد دوره ها یا یادگیری
2543
01:57:38,159 –> 01:57:40,960
برای مثال امتیاز دهید یا همچنین ممکن است a را امتحان کنید
2544
01:57:40,960 –> 01:57:41,679
ناهمسان
2545
01:57:41,679 –> 01:57:45,040
بهینه ساز در اینجا اما اساسا
2546
01:57:45,040 –> 01:57:46,719
به این ترتیب ما لجستیک را پیاده سازی می کنیم
2547
01:57:46,719 –> 01:57:48,960
رگرسیون امیدوارم خوشتون اومده باشه
2548
01:57:48,960 –> 01:57:51,199
اگر آن را دوست داشتید لطفا مشترک شوید
2549
01:57:51,199 –> 01:57:52,800
کانال و دفعه بعد میبینمت
2550
01:57:52,800 –> 01:57:55,119
خدا حافظ
2551
01:58:00,400 –> 01:58:02,480
سلام به همه خوش آمدید به یک پای جدید
2552
01:58:02,480 –> 01:58:03,599
آموزش مشعل
2553
01:58:03,599 –> 01:58:05,840
امروز می خواهم داده های پایتوگ را به شما نشان دهم
2554
01:58:05,840 –> 01:58:08,080
مجموعه و کلاس های بارگذار داده
2555
01:58:08,080 –> 01:58:10,320
تا اینجا کد ما چیزی شبیه به این بود
2556
01:58:10,320 –> 01:58:13,360
بنابراین ما یک مجموعه داده داشتیم که بارگذاری کردیم
2557
01:58:13,360 –> 01:58:15,760
به عنوان مثال از یک csv
2558
01:58:15,760 –> 01:58:18,400
فایل و سپس ما حلقه آموزشی خود را داشتیم
2559
01:58:18,400 –> 01:58:20,000
که بیش از تعداد حلقه
2560
01:58:20,000 –> 01:58:22,960
دوره ها و سپس مدل خود را بهینه کردیم
2561
01:58:22,960 –> 01:58:25,040
بر اساس کل مجموعه داده ها
2562
01:58:25,040 –> 01:58:27,119
بنابراین این ممکن است بسیار وقت گیر باشد اگر
2563
01:58:27,119 –> 01:58:29,119
ما محاسبات گرادیان را روی آن انجام دادیم
2564
01:58:29,119 –> 01:58:30,800
کل داده های آموزشی
2565
01:58:30,800 –> 01:58:33,199
بنابراین یک راه بهتر برای مجموعه داده های بزرگ است
2566
01:58:33,199 –> 01:58:34,000
برای تقسیم کردن
2567
01:58:34,000 –> 01:58:37,520
نمونه ها را به دسته های به اصطلاح کوچکتر تبدیل می کنند
2568
01:58:37,520 –> 01:58:39,360
و سپس حلقه آموزشی ما به نظر می رسد
2569
01:58:39,360 –> 01:58:41,440
چیزی مثل این
2570
01:58:41,440 –> 01:58:44,320
بنابراین ما دوباره بر دوره ها حلقه می زنیم و
2571
01:58:44,320 –> 01:58:46,080
سپس یک حلقه دیگر انجام می دهیم
2572
01:58:46,080 –> 01:58:49,119
و روی تمام دسته ها حلقه بزنید و سپس
2573
01:58:49,119 –> 01:58:50,639
x و y را می گیریم
2574
01:58:50,639 –> 01:58:53,040
نمونه های دسته ای و بهینه سازی را انجام دهید
2575
01:58:53,040 –> 01:58:56,560
فقط بر اساس آن دسته ها
2576
01:58:56,560 –> 01:58:58,880
بنابراین اکنون اگر از مجموعه داده های داخلی استفاده کنیم
2577
01:58:58,880 –> 01:59:01,679
و کلاس های بارگذار داده از pytorch
2578
01:59:01,679 –> 01:59:03,760
سپس نمودارهای دایره ای که می توانید انجام دهید می توانید این کار را انجام دهید
2579
01:59:03,760 –> 01:59:06,719
محاسبات دسته ای و تکرار برای ما
2580
01:59:06,719 –> 01:59:10,080
بنابراین استفاده از آن بسیار آسان است و اکنون می خواهم
2581
01:59:10,080 –> 01:59:13,040
تا به شما نشان دهیم چگونه می توانیم از این کلاس ها استفاده کنیم
2582
01:59:13,040 –> 01:59:15,199
اما قبل از اینکه به کد بپریم بیایید
2583
01:59:15,199 –> 01:59:17,280
هنگامی که ما به سرعت در مورد برخی از اصطلاحات صحبت می کنیم
2584
01:59:17,280 –> 01:59:19,679
در مورد آموزش دسته جمعی صحبت کنید
2585
01:59:19,679 –> 01:59:22,880
پس اول یک دوره یعنی یک
2586
01:59:22,880 –> 01:59:25,599
پاس کامل به جلو و عقب
2587
01:59:25,599 –> 01:59:28,080
تمامی نمونه های آموزشی
2588
01:59:28,080 –> 01:59:31,040
و یکی اندازه دسته تعداد است
2589
01:59:31,040 –> 01:59:33,599
نمونه های آموزشی در یک جلو و یک
2590
01:59:33,599 –> 01:59:35,679
پاس به عقب
2591
01:59:35,679 –> 01:59:38,480
و تعداد تکرارها برابر است
2592
01:59:38,480 –> 01:59:39,199
تعداد
2593
01:59:39,199 –> 01:59:42,719
پاس هایی که هر پاس از آن استفاده می کند
2594
01:59:42,719 –> 01:59:45,840
اندازه دسته ای تعداد نمونه ها
2595
01:59:45,840 –> 01:59:48,159
بنابراین در اینجا اگر داریم یک مثال داریم
2596
01:59:48,159 –> 01:59:52,080
100 نمونه و اندازه دسته ما 20 است
2597
01:59:52,080 –> 01:59:55,440
سپس ما پنج تکرار برای یک داریم
2598
01:59:55,440 –> 01:59:58,480
دوره چون 100 تقسیم بر
2599
01:59:58,480 –> 02:00:02,400
20 برابر با 5 است. پس بله، این چیزی است که باید
2600
02:00:02,400 –> 02:00:03,199
دانستن و
2601
02:00:03,199 –> 02:00:06,400
حالا بیایید ابتدا به سراغ کد برویم
2602
02:00:06,400 –> 02:00:08,800
من قبلاً چند ماژول را پیاده سازی کردم که
2603
02:00:08,800 –> 02:00:09,440
نیاز داریم
2604
02:00:09,440 –> 02:00:12,400
بنابراین مشعل البته پس از آن نیز مشعل
2605
02:00:12,400 –> 02:00:13,360
چشم انداز
2606
02:00:13,360 –> 02:00:16,560
و سپس از torch.utils.data
2607
02:00:16,560 –> 02:00:19,520
ما مجموعه داده و بارگذار داده را وارد می کنیم تا
2608
02:00:19,520 –> 02:00:21,920
کلاس هایی که من فقط در مورد آنها صحبت کردم
2609
02:00:21,920 –> 02:00:25,280
سپس اجازه دهید numpy و ریاضی را نیز وارد کنیم
2610
02:00:25,280 –> 02:00:29,280
و اکنون می توانیم اجرای خود را شروع کنیم
2611
02:00:29,280 –> 02:00:32,480
مجموعه داده های سفارشی خود را دارید، پس بیایید این را صدا کنیم
2612
02:00:32,480 –> 02:00:33,679
گراز
2613
02:00:33,679 –> 02:00:37,280
مجموعه داده و این باید به ارث برسد
2614
02:00:37,280 –> 02:00:40,320
مجموعه داده ها و سپس باید پیاده سازی کنیم
2615
02:00:40,320 –> 02:00:43,520
سه چیز بنابراین ما باید آن را اجرا کنیم
2616
02:00:43,520 –> 02:00:47,119
با خود شروع کنیم، بنابراین در اینجا ما انجام می دهیم
2617
02:00:47,119 –> 02:00:52,639
به عنوان مثال برخی از داده ها بارگیری می شوند
2618
02:00:52,800 –> 02:00:55,440
و سپس ما نیز باید آن را اجرا کنیم
2619
02:00:55,440 –> 02:00:57,280
دو خط زیر گرفتن
2620
02:00:57,280 –> 02:01:00,320
روش آیتم که خود و an را می گیرد
2621
02:01:00,320 –> 02:01:03,840
ایندکس کردن بنابراین این امکان نمایه سازی را فراهم می کند
2622
02:01:03,840 –> 02:01:04,480
بعد
2623
02:01:04,480 –> 02:01:08,080
بنابراین می توانیم مجموعه داده را با یک شاخص فراخوانی کنیم
2624
02:01:08,080 –> 02:01:11,599
به عنوان مثال 0 و سپس ما نیز باید
2625
02:01:11,599 –> 02:01:14,480
روش لانگ را اجرا کنید
2626
02:01:14,480 –> 02:01:17,599
که فقط خود دارد و بعد این
2627
02:01:17,599 –> 02:01:21,280
اجازه خواهد داد که ما می توانیم طول را فراخوانی کنیم
2628
02:01:21,280 –> 02:01:24,960
مجموعه داده های ما، بنابراین اکنون اجازه دهید این کار را شروع کنیم
2629
02:01:24,960 –> 02:01:26,880
مورد ما می خواهیم به آن نگاه کنیم
2630
02:01:26,880 –> 02:01:30,000
مجموعه داده های شراب بنابراین من آن را دارم
2631
02:01:30,000 –> 02:01:33,280
فایل csv اینجاست و من هم این را در خودم قرار دادم
2632
02:01:33,280 –> 02:01:34,239
github
2633
02:01:34,239 –> 02:01:36,480
مخزن تا بتوانید آن را بررسی کنید
2634
02:01:36,480 –> 02:01:37,679
اینجا
2635
02:01:37,679 –> 02:01:40,239
و بنابراین مجموعه داده ها به این شکل به نظر می رسد
2636
02:01:40,239 –> 02:01:41,280
اولین
2637
02:01:41,280 –> 02:01:45,440
ردیف سربرگ است و در اینجا می خواهیم
2638
02:01:45,440 –> 02:01:49,440
محاسبه یا پیش بینی شراب
2639
02:01:49,440 –> 02:01:52,080
دسته بندی بنابراین ما سه شراب مختلف داریم
2640
02:01:52,080 –> 02:01:52,880
دسته بندی ها
2641
02:01:52,880 –> 02:01:56,719
یک دو و سه و برچسب کلاس
2642
02:01:56,719 –> 02:02:00,000
در همان ستون اول و سپس
2643
02:02:00,000 –> 02:02:03,440
تمام ستون های دیگر ویژگی هستند
2644
02:02:03,440 –> 02:02:06,719
پس بیایید این را بارگذاری کنیم و خود را تقسیم کنیم
2645
02:02:06,719 –> 02:02:09,760
uh ستون به x و y
2646
02:02:09,760 –> 02:02:12,880
بنابراین در اینجا می توانیم x را بگوییم
2647
02:02:12,880 –> 02:02:16,159
y برابر است با نقطه ناقص
2648
02:02:16,159 –> 02:02:20,800
txt را بارگیری کنید و در اینجا باید آن را مشخص کنم
2649
02:02:20,800 –> 02:02:21,679
نام فایل
2650
02:02:21,679 –> 02:02:24,800
بنابراین این در پوشه داده است
2651
02:02:24,800 –> 02:02:26,800
و سپس من یک پوشه شراب دارم و سپس
2652
02:02:26,800 –> 02:02:29,520
به آن wine.csv می گویند
2653
02:02:29,520 –> 02:02:33,119
سپس اجازه دهید یک جداکننده نیز بدهیم
2654
02:02:33,119 –> 02:02:36,480
در اینجا برابر با کاما است زیرا این یک است
2655
02:02:36,480 –> 02:02:38,480
فایل جدا شده با کاما
2656
02:02:38,480 –> 02:02:41,760
سپس به آن یک نوع داده نیز بدهیم
2657
02:02:41,760 –> 02:02:45,119
و بنابراین فرض کنید نوع داده برابر numpy است
2658
02:02:45,119 –> 02:02:49,840
dot float32 و همچنین بگوییم
2659
02:02:49,840 –> 02:02:53,360
skip rows برابر است با یک، بنابراین می خواهیم از آن بگذریم
2660
02:02:53,360 –> 02:02:54,639
ردیف اول
2661
02:02:54,639 –> 02:02:58,159
زیرا این سرصفحه و اکنون ماست
2662
02:02:58,159 –> 02:03:01,199
بیایید کل مجموعه داده خود را تقسیم کنیم
2663
02:03:01,199 –> 02:03:05,040
به x و y بنابراین می گوییم self.x
2664
02:03:05,040 –> 02:03:09,040
برابر است و در اینجا ما می توانیم از برش استفاده کنیم
2665
02:03:09,040 –> 02:03:13,520
x y و می خواهیم همه نمونه ها را داشته باشیم
2666
02:03:13,520 –> 02:03:16,400
و سپس ما اولین را نمی خواهیم
2667
02:03:16,400 –> 02:03:17,199
ستون
2668
02:03:17,199 –> 02:03:19,840
بنابراین می خواهیم از شماره ستون شروع کنیم
2669
02:03:19,840 –> 02:03:20,320
یکی
2670
02:03:20,320 –> 02:03:22,639
و سپس تمام راه را تا انتها ادامه دهید
2671
02:03:22,639 –> 02:03:24,719
این به ما x را می دهد
2672
02:03:24,719 –> 02:03:28,159
و سپس خود نقطه y برابر با x است
2673
02:03:28,159 –> 02:03:32,960
y خاموش و دوباره اینجا می خواهیم
2674
02:03:32,960 –> 02:03:37,520
همه نمونه ها اما فقط اولین
2675
02:03:37,520 –> 02:03:41,360
ستون و این را در ستون دیگری قرار می دهیم
2676
02:03:41,360 –> 02:03:44,880
در اینجا آرایه کنید تا اندازه را داشته باشیم
2677
02:03:44,880 –> 02:03:48,400
تعداد نمونه ها توسط یک، بنابراین این خواهد شد
2678
02:03:48,400 –> 02:03:49,199
درستش کن
2679
02:03:49,199 –> 02:03:52,800
بعدا برای برخی از محاسبات آسان تر است
2680
02:03:52,800 –> 02:03:55,840
اوم بله و همین
2681
02:03:55,840 –> 02:03:59,360
همچنین این را به یک تانسور تبدیل کنیم تا بتوانیم
2682
02:03:59,360 –> 02:04:00,560
نقطه مشعل بگو
2683
02:04:00,560 –> 02:04:04,239
از numpy و سپس
2684
02:04:04,239 –> 02:04:07,440
این را به ما بده
2685
02:04:07,440 –> 02:04:10,960
به تابع اینجا بنابراین نقطه مشعل از
2686
02:04:10,960 –> 02:04:14,159
بی رمق پس ما نداریم
2687
02:04:14,159 –> 02:04:17,760
اوه ما به این نیاز نداریم اما
2688
02:04:17,760 –> 02:04:20,239
ما می توانیم آن را انجام دهیم، همچنین می توانیم آن را تبدیل کنیم
2689
02:04:20,239 –> 02:04:22,320
بعداً اما ما میتوانیم آن را همینجا انجام دهیم
2690
02:04:22,320 –> 02:04:25,599
پس بیایید این کار را انجام دهیم و آن را نیز دریافت کنیم
2691
02:04:25,599 –> 02:04:26,320
عدد
2692
02:04:26,320 –> 02:04:29,520
از نمونه ها، بنابراین عدد خود نقطه را فرض کنید
2693
02:04:29,520 –> 02:04:29,840
از
2694
02:04:29,840 –> 02:04:32,960
نمونه ها برابر x y است
2695
02:04:32,960 –> 02:04:36,239
شکل نقطه و سپس
2696
02:04:36,239 –> 02:04:39,119
صفر پس بعد اول همان است
2697
02:04:39,119 –> 02:04:41,040
تعداد نمونه ها
2698
02:04:41,040 –> 02:04:44,880
و سپس ما می توانیم این را در اینجا برگردانیم
2699
02:04:44,880 –> 02:04:47,520
و این تابع طول کل ما است بنابراین
2700
02:04:47,520 –> 02:04:48,719
برگشت
2701
02:04:48,719 –> 02:04:52,239
تعداد خود نقطه نمونه ها و در اینجا ما
2702
02:04:52,239 –> 02:04:54,639
همچنین می توانید این را در یک خط پیاده سازی کنید تا
2703
02:04:54,639 –> 02:04:56,800
می توانیم بگوییم بازگشت
2704
02:04:56,800 –> 02:05:00,320
خود نقطه x از این شاخص
2705
02:05:00,320 –> 02:05:04,400
و سپس خود نقطه y این شاخص
2706
02:05:04,400 –> 02:05:07,599
بنابراین این یک تاپل را برمی گرداند
2707
02:05:07,599 –> 02:05:11,119
و بله در حال حاضر ما تمام شده است، بنابراین این ما است
2708
02:05:11,119 –> 02:05:13,599
مجموعه داده ای که ما به تازگی پیاده سازی کردیم و
2709
02:05:13,599 –> 02:05:15,840
حالا بیایید این مجموعه داده را ایجاد کنیم
2710
02:05:15,840 –> 02:05:18,880
بنابراین بیایید بگوییم مجموعه داده برابر است
2711
02:05:18,880 –> 02:05:23,119
یک مجموعه داده و
2712
02:05:23,119 –> 02:05:25,440
حالا بیایید نگاهی به این مجموعه داده بیندازیم
2713
02:05:25,440 –> 02:05:27,040
بنابراین اکنون می توانیم بگوییم
2714
02:05:27,040 –> 02:05:30,400
اولین داده
2715
02:05:30,400 –> 02:05:34,159
برابر است با مجموعه داده ها و اکنون می توانیم استفاده کنیم
2716
02:05:34,159 –> 02:05:36,400
نمایه سازی پس بیایید نگاهی به آن بیندازیم
2717
02:05:36,400 –> 02:05:37,280
خیلی اول
2718
02:05:37,280 –> 02:05:41,119
نمونه و حالا بیایید این را باز کنیم
2719
02:05:41,119 –> 02:05:44,239
به ویژگی ها و برچسب هایی مانند این
2720
02:05:44,239 –> 02:05:45,520
این اول است
2721
02:05:45,520 –> 02:05:50,000
داده ها و حالا بیایید ویژگی ها را چاپ کنیم
2722
02:05:50,000 –> 02:05:53,440
و همچنین برچسب ها را چاپ کنید
2723
02:05:53,440 –> 02:05:56,480
برای دیدن اینکه آیا این کار می کند یا خیر و ما هم همینطور
2724
02:05:56,480 –> 02:05:56,960
دارند
2725
02:05:56,960 –> 02:06:00,000
یک ویژگی
2726
02:06:00,000 –> 02:06:03,199
ستون یا فقط یک سطر پس این است
2727
02:06:03,199 –> 02:06:06,320
بردار یک ردیف و سپس
2728
02:06:06,320 –> 02:06:10,719
برچسب بنابراین برچسب یک در این مورد
2729
02:06:10,719 –> 02:06:14,320
و بله، پس ما اینگونه به دست می آوریم
2730
02:06:14,320 –> 02:06:17,360
مجموعه داده ها و حالا بیایید ببینیم که چگونه ما
2731
02:06:17,360 –> 02:06:18,159
استفاده از a
2732
02:06:18,159 –> 02:06:21,440
بارگذار داده تا بتوانیم بگوییم
2733
02:06:21,440 –> 02:06:25,599
بارگذار داده برابر با داخلی است
2734
02:06:25,599 –> 02:06:29,599
کلاس دیتا لودر و سپس پاس می کنیم
2735
02:06:29,599 –> 02:06:32,960
می گوییم مجموعه داده برابر است
2736
02:06:32,960 –> 02:06:36,800
این مجموعه داده و سپس ما نیز می توانیم
2737
02:06:36,800 –> 02:06:40,639
به این یک اندازه دسته ای بدهید بنابراین اندازه دسته ای
2738
02:06:40,639 –> 02:06:43,679
در این مورد برابر فرض کنید 4 است
2739
02:06:43,679 –> 02:06:46,719
پس بیایید بگوییم shuffle برابر با true است
2740
02:06:46,719 –> 02:06:50,400
که برای آموزش بسیار مفید است و
2741
02:06:50,400 –> 02:06:52,639
بنابراین این داده ها را به هم می ریزد و سپس
2742
02:06:52,639 –> 02:06:53,520
ما همچنین
2743
02:06:53,520 –> 02:06:57,040
بگویید تعداد کارگران برابر با دو است
2744
02:06:57,040 –> 02:07:00,239
بنابراین شما نیازی به انجام این کار ندارید
2745
02:07:00,239 –> 02:07:03,840
این ممکن است بارگذاری را سریعتر کند زیرا
2746
02:07:03,840 –> 02:07:07,280
اکنون از چندین زیرپردازنده استفاده می کند
2747
02:07:07,280 –> 02:07:11,040
و بله، حالا بیایید ببینیم چگونه می توانیم استفاده کنیم
2748
02:07:11,040 –> 02:07:14,239
این شی لودر داده است بنابراین اکنون می توانیم
2749
02:07:14,239 –> 02:07:15,840
این را به a تبدیل کنید
2750
02:07:15,840 –> 02:07:19,119
iterate iterator پس بیایید بگوییم
2751
02:07:19,119 –> 02:07:22,480
داده iter برابر است
2752
02:07:22,480 –> 02:07:26,239
um iter data loader
2753
02:07:26,239 –> 02:07:28,800
و سپس می توانیم تابع بعدی را فراخوانی کنیم
2754
02:07:28,800 –> 02:07:30,239
بنابراین می توانیم بگوییم
2755
02:07:30,239 –> 02:07:34,320
داده برابر با ویرایشگر داده است
2756
02:07:34,320 –> 02:07:38,400
نقطه بعدی و سپس ما می توانیم
2757
02:07:38,400 –> 02:07:42,079
همه دوباره این را با گفتن ویژگی ها باز کنید
2758
02:07:42,079 –> 02:07:45,440
و برچسب ها برابر با داده و
2759
02:07:45,440 –> 02:07:48,800
حالا بیایید ویژگی ها را چاپ کنیم
2760
02:07:48,800 –> 02:07:52,239
و برچسب ها اگر
2761
02:07:52,239 –> 02:07:56,000
برای دیدن اینکه آیا این کار می کند و
2762
02:07:56,000 –> 02:07:59,360
بله، در اینجا ما آن را داریم و اینجا در این
2763
02:07:59,360 –> 02:07:59,840
مورد
2764
02:07:59,840 –> 02:08:03,360
i مشخص می کنم مشخص شده اندازه دسته به
2765
02:08:03,360 –> 02:08:06,840
چهار به همین دلیل است که ما چهار می بینیم
2766
02:08:06,840 –> 02:08:10,880
بردار ویژگی های مختلف در اینجا
2767
02:08:10,880 –> 02:08:14,000
و سپس برای هر بردار ویژگی
2768
02:08:14,000 –> 02:08:17,040
کلاس تا چهار برچسب کلاس
2769
02:08:17,040 –> 02:08:21,119
در بردار برچسب ها یا تانسور برچسب های ما
2770
02:08:21,119 –> 02:08:24,159
و حالا ما
2771
02:08:24,159 –> 02:08:27,040
همچنین می تواند روی کل داده ها تکرار شود
2772
02:08:27,040 –> 02:08:29,119
لودر بنابراین و نه تنها دریافت کنید
2773
02:08:29,119 –> 02:08:33,679
مورد بعدی پس حالا بیایید یک ساختگی انجام دهیم
2774
02:08:33,679 –> 02:08:37,360
حلقه آموزشی بنابراین
2775
02:08:37,360 –> 02:08:41,760
اجازه دهید برخی از پارامترهای hyper را مشخص کنیم
2776
02:08:41,760 –> 02:08:42,400
بیایید بگوییم
2777
02:08:42,400 –> 02:08:46,079
تعداد دوره ها برابر است
2778
02:08:46,079 –> 02:08:49,599
اعصار برابر با دو و
2779
02:08:49,599 –> 02:08:52,639
سپس بیایید تعداد کل را بدست آوریم
2780
02:08:52,639 –> 02:08:56,000
از نمونه ها بنابراین کل نمونه ها برابر است
2781
02:08:56,000 –> 02:09:00,480
طول مجموعه داده ما
2782
02:09:00,480 –> 02:09:02,960
و حالا بیایید تعداد آنها را بدست آوریم
2783
02:09:02,960 –> 02:09:04,239
تکرارها
2784
02:09:04,239 –> 02:09:07,599
در یک دوره پس این است
2785
02:09:07,599 –> 02:09:10,800
ام تعداد کل
2786
02:09:10,800 –> 02:09:13,679
نمونه ها بر اساس اندازه دسته تقسیم می شوند
2787
02:09:13,679 –> 02:09:14,719
تقسیم بر
2788
02:09:14,719 –> 02:09:18,079
چهار و سپس ما نیز باید به
2789
02:09:18,079 –> 02:09:22,320
مهر و موم این پس ریاضی ببینید
2790
02:09:22,400 –> 02:09:25,840
امم این و حالا بیایید
2791
02:09:25,840 –> 02:09:30,159
کل نمونه ها و تعداد ما را چاپ کنید
2792
02:09:30,159 –> 02:09:34,280
از تکرارها و سپس می بینیم که داریم
2793
02:09:34,280 –> 02:09:35,520
178
2794
02:09:35,520 –> 02:09:38,960
نمونه و 45 تکرار
2795
02:09:38,960 –> 02:09:42,000
بنابراین اکنون بیایید حلقه خود را انجام دهیم
2796
02:09:42,000 –> 02:09:45,840
بیایید بگوییم برای epoc in
2797
02:09:45,840 –> 02:09:48,880
محدوده تعداد دوره ها
2798
02:09:48,880 –> 02:09:52,000
و حالا حلقه و حلقه دوم را انجام می دهیم
2799
02:09:52,000 –> 02:09:55,199
بیش از لودر قطار بنابراین
2800
02:09:55,199 –> 02:10:00,639
بیایید بگوییم برای من و اینجا ما می توانیم um
2801
02:10:00,639 –> 02:10:03,920
قبلاً این را با گفتن باز کنید
2802
02:10:03,920 –> 02:10:07,440
ورودی ها و برچسب ها در
2803
02:10:07,440 –> 02:10:10,800
شمارش کنید و در اینجا فقط وارد می کنیم
2804
02:10:10,800 –> 02:10:14,000
چگونه به آن داده می گوییم
2805
02:10:14,000 –> 02:10:17,280
لودر بنابراین
2806
02:10:17,280 –> 02:10:21,280
این تمام کاری است که باید انجام دهیم و
2807
02:10:21,280 –> 02:10:23,920
حالا این تابع enumerate به م