Silicon Brain | جامعه هوش مصنوعی
7.04K subscribers
1.03K photos
117 videos
60 files
499 links
مغز سیلیکونی|جامعه هوش مصنوعی و یادگیری ماشین

گروه بحث و تبادل نظر:
https://t.me/+SWbgmMZt0XU0MGY0

مطالب و بحث های بیشتر در اینستاگرام:
https://www.instagram.com/silicon_brain/

ارتباط با ادمین:
@silicon_brain_admin
Download Telegram
Silicon Brain | جامعه هوش مصنوعی
Python_cheatsheet.pdf
ML Cheatsheet.pdf
3.5 MB
تقلب نامه کد پایتون و R برای الگوریتم های یادگیری ماشین
#cheatsheet #python #r
#python #julia

زبان برنامه نویسی #جولیا، جدیدا خیلی سر و صدا کرده و بعضی ها معتقدن که این زبان برنامه نویسی جایگزینی برای زبان #پایتون خواهد بود. اما این موضوع صحت داره ؟ در پیج اینستاگرام سیلیکون برین بصورت کامل تحلیل این دو زبان را بخوانید ...

https://www.instagram.com/p/CMPczY1g58B/?igshid=kkv7n1kxcin3
This media is not supported in your browser
VIEW IN TELEGRAM
اکسل و پایتون!

اخیرا آناکوندا و مایکروسافت طی همکاری که با هم داشتن یه فیچر خیلی خوب به اکسل اضافه کردن. از این به بعد تو اکسل میتونین با پایتون کد بزنید و مصورسازی کنید.

شعارشون هم اینه: تطبیق پذیری #اکسل + قدرت #آناکوندا :ترکیب محبوب ترین برنامه داده جهان با قابل اعتمادترین توزیع پایتون...

لینک آناکوندا| لینک مایکروسافت

#anaconda #microsoft #python
@silicon_brain | از هوش مصنوعی عقب نمانید
👍14👏31
پایتون 3.12 و فیچرهای جدید اضافه شده

پایتون 3.12 آخرین نسخه پایدار زبان پایتون که ترکیبی از تغییرات در زبان و کتابخانه های استاندارد هستش. تو این نسخه API های منسوخ حذف شدن و بسیاری از محدودیت‌های f-string هم حذف شده‌.

برای مثال در این نسخه میتونین تو یک f-string دابل کوتیشن دار بازم از دابل کوتیشن استفاده کنید. این ویژگی تا نسخه 3.11 با SyntaxError رو به رو میشد.
انصافا فیچر باحالیه که اضافه شده 😁
#python
@silicon_brain | از هوش مصنوعی عقب نمانید
👍13🤩4
اگه اینارو نمیدونی ادعایی تو برنامه نویسی نداشته باش!

شاید پارامترهای 'arg' و 'kwarg' توی تعریف توابع یا داکیومنت های کتابخونه های مختلف #پایتون دیده باشین.
اما این دوتا پارامتر دقیقا چیکار میکنن؟
زمان تعریف توابع میشه یک یا چند آرگیومنت رو به عنوان ورودی به اون تابع تعریف کرد اما اگر ندونیم که ورودی ها دقیقا چند تا هستند یا در آینده بخواییم چیزهای دیگه رو هم به عنوان ورودی به تابع بدیم به مشکل برمیخوریم و اینجاست که این دو تا پارامتر وارد عمل میشن.

پارامتر *arg: اگر تابعی از این پارامتر استفاده کنه به ترتیب وردی هایی که بهش داده شده رو میگیره و داخل پارامترهاش میریزه اما هر ورودی بیش تر از تعداد ورودی های ثابت رو به *arg اختصاص میده
def testfunc(one,*argv):
for arg in argv:
print(arg)

testfunc('Hello', 'this', 'is', 'SiliconBrain')

توی مثال بالا تابع مقدار ورودی 'one' رو با "hello" پر میکنه و باقی ورودی ها رو داخل *arg میریزه.
پارامتر *arg از مجوعه پارامترهای position based هست یعنی ترتیب ورودی هایی که بهش داده میشه اهمیت داره و به تبع اون میشه به همون ترتیب داخل تابع بهشون دسترسی داشت.

پارامتر **kwarg:
این پارامتر هم مثل پارامتر قبلی برای ورودی دادن اضافی به توابع استفاده میشه با این تفاوت که ساختار اون به صورت دیکشنری هست و ورودی هایی که از این طریق به تابع داده میشن رو باید به صورت مقادیر {key:value} تعریف کرد.
def testfunc(arg1, **kwargs):
for key, value in kwargs.items():
print(f"{key} == {value}")

testfunc("Hi", first='this', mid='is', last='SiliconBrain')


در مثال بالا مقدار arg1 با "Hi" پر میشه و بقیه ورودی ها با **kwarg اختصاص پیدا میکنند در نتیجه داخل تابع به جای دسترسی به ورودی ها با استفاده از slicing که در *arg استفاده میشه.

نکته مهم: نام گذاری برای این دو پارامتر آزاد هست و هر اسمی که بعد از * یا ** بیاد همون کاربرد موارد گفته شده بالا رو داره.
#python

@silicon_brain | از هوش مصنوعی عقب نمانید
👍219😁2👎1😱1
شرکت JetBrains محصولات خودشو به Code Completion جدید مجهز کرد!

یک خبر جالب اینکه، شرکت #Jetbrains محصولاتشو به مدل لوکال 100 میلیون پارامتری با Context سایز 1500 توکن مجهز کرده. و این یعنی، کد نوشتن با پایچارم لذت‌بخش‌تر از قبل میشه. مدل هم از سخت‌‎افزار شما برای اجرا استفاده میکنه و نیازی به اینترنت نیست.

حالا چطوری کار میکنه؟ اگه با پایچارم کار کرده باشید، میدونید که auto complete قوی داره و همین که یکی دو تا حرف از دستور رو بنویسیم، سریع دستورات مرتبط رو پیشنهاد میده. حالا روش کارش اینجوریه که دستور وارد شده رو همراه با ورودی و خروجی به شما پیشنهاد میده. به خاطر همین بهش میگن full line code complete!

این ابزار برای زبان ها زیر اضافه شده:
Java, Kotlin, #Python, JavaScript, TypeScript, CSS, PHP, Go, and Ruby
و #IDE هایی که این ابزار بهشون اضافه شده:
IntelliJ IDEA Ultimate, #PyCharm Professional, WebStorm, PhpStorm, GoLand, and RubyMine

بیشتر بخوانید: وبلاگ Jetbrains
@silicon_brain | از هوش مصنوعی عقب نمانید
👍53🔥1
اگه تابعی داری که برنامه رو کند میکنه، تو سطح ماشین کامپایل کن!

کتابخونه #Numba کمک میکنه به طور چشمگیری سرعت عملیات مربوط به #NumPy افزایش بدی.


در واقع میتونی Numba راو برای عملیات‌های محدود به CPU که پیش‌پردازش رو کند میکنن، استفاده کنی . این موضوع برای الگوریتم‌های عددی و حلقه‌هایی که نمیشه به راحتی تبدیل به بردار کنی (#vectorize) و پردازش موازی بزنی، به کار میاد

نحوه استفاده:
import numpy as np
from numba import jit

@jit(nopython=True)
def custom_normalize(data, lower=0, upper=1):
min_val = np.min(data)
max_val = np.max(data)

numerator = (data - min_val) * (upper - lower)
denominator = max_val - min_val

return numerator / denominator + lower

# Example usage
data = np.random.rand(1000000)
normalized_data = custom_normalize(data)



اینجا دکوراتور
@jit(nopython=True)

تابع را تو سطح کد ماشین کامپایل میکنه و nopython حداکثر کارایی و سرعتو تضمین می کنه. آماری هم که ازش دادن اینجوری که افزایش سرعت 10 تا 100 برابری رو میشه مشاهده کرد!

#python
@silicon_brain | از هوش مصنوعی عقب نمانید
👍112