احتمالا تا حالا شده که در مسیر تسکهای NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیرهسازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دستها رو به نشانه تسلیم بالا میبرید. اما هاگینگفیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه میکنید. قابلیت memory mapping (که به صورت پیشفرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست میسازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لودشده در RAM هستند. پس یه جور آیینه تمامنمای RAM محسوب میشه و از این جا به بعد دیگه این کتابخانه یه اشارهگر به اول این فایل باز میکنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایلها استفاده میکنه Apache Arrow هست که یه فرمت بهینهشده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی میتونید از هاب دیتاست هاگینگفیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیشفرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست میدید (مثلا نمیتونید دستور dataset[2335] رو ران کنید چون آبجکتی که میسازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپلهای یک دیتاست استریمنشده رو میگیرید. پس دیگه بهونه بسه و پاشید کار با دیتاستهای بزرگ رو شروع کنید.
پ.ن: در تصاویر یه سری نمونه کدهایی آوردیم که از فصل ۱۰ کتاب گرانسنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگفیسه.
احتمالا تا حالا شده که در مسیر تسکهای NLP به دیوار سخت و خشن یک دیتاست بزرگ برخورده باشید (مثلا یک دیتاست در اندازه چند ده گیگابایت که شاید حتی جایی برای ذخیرهسازیش در دیسک نداشته باشید چه برسه به رم). در این حالته که دستها رو به نشانه تسلیم بالا میبرید. اما هاگینگفیس در کتابخانه Datasets🤗 این مشکل رو حل کرده. در واقع با دو قابلیت memory mapping و streaming که این کتابخانه فراهم کرده بر محدودیت رم و دیسک غلبه میکنید. قابلیت memory mapping (که به صورت پیشفرض فعاله) به این اشاره داره که با لودکردن هر دیتاستی توسط Datasets🤗 این کتابخانه یه سری cache file از دیتاست میسازه که بر روی دیسک ذخیره شدند و عینا همون محتویات دیتاست لودشده در RAM هستند. پس یه جور آیینه تمامنمای RAM محسوب میشه و از این جا به بعد دیگه این کتابخانه یه اشارهگر به اول این فایل باز میکنه و دیتا به صورت batch داخل رم لود میشه. طبیعتا آموزش مدل از اینجا به بعد I/O bounded خواهد بود اما نگران اون قسمتش هم نباشید چون فرمتی که برای کار با این فایلها استفاده میکنه Apache Arrow هست که یه فرمت بهینهشده است. از طرفی برای اینکه نعمت رو بر ما تکمیل کرده باشه و حتی نگران کمبود دیسک هم نباشیم قابلیت streaming رو تعریف کرده که ینی میتونید از هاب دیتاست هاگینگفیس، دیتاست رو به صورت batch و on the fly دانلود کنید و پردازش انجام بدید (که به صورت پیشفرض فعال نیست و باید streaming=True باشه). البته با استفاده از این قابلیت امکان random access به دیتاها رو از دست میدید (مثلا نمیتونید دستور dataset[2335] رو ران کنید چون آبجکتی که میسازه حالت iterable داره و شبیه generatorهای پایتونیه) ولی با دستور next و iterate کردن بر روی دیتاست، دقیقا سمپلهای یک دیتاست استریمنشده رو میگیرید. پس دیگه بهونه بسه و پاشید کار با دیتاستهای بزرگ رو شروع کنید.
پ.ن: در تصاویر یه سری نمونه کدهایی آوردیم که از فصل ۱۰ کتاب گرانسنگ NLP with Transformers گرفته شده که اثری جاوید از هاگینگفیسه.
You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.