- एक्ज़िक्यूटर्स
-
सीखें
Python सीखें चलने योग्य उदाहरण, NumPy, pandas और बहुत कुछ AI सीखेंन्यूरल नेटवर्क, ML और LLM शुरू से C और C++ सीखें पॉइंटर, मेमोरी, STL और आधुनिक C++ C# सीखेंC# मूल बातें, OOP, LINQ, async और .NET अभ्यास Matplotlib सीखेंलाइन, बार, स्कैटर और पाई चार्ट, इंटरैक्टिव विज़ुअलाइज़र के साथ Python एल्गोरिदम खोज, सॉर्टिंग, रिकर्शन और विज़ुअलाइज़र O(n) C और C++ एल्गोरिदम C और C++ कार्यान्वयन की तुलना करें बच्चों के लिए कोडिंग खेलते-खेलते कोडिंग सीखो!
- चैलेंजनया
- शिक्षकों के लिएनया
- अपडेट्स
- मुझे एक कॉफ़ी पिलाएँ
Adam हर वज़न के लिए दो मूविंग एवरेज रखता है, ग्रेडिएंट (m) का और ग्रेडिएंट के वर्ग (v) का, और इनसे हर वज़न को उसका अपना कदम आकार देता है।
हर वज़न के लिए m = 0 और v = 0 से शुरू करें। ग्रेडिएंट g वाले हर कदम t = 1, 2, 3, … के लिए:
- m ← beta1 × m + (1 - beta1) × g
- v ← beta2 × v + (1 - beta2) × g²
- m̂ = m / (1 - beta1ᵗ) और v̂ = v / (1 - beta2ᵗ) (बायस करेक्शन)
- w ← w - learning_rate × m̂ / (√v̂ + epsilon)
adam_steps(gradients, weights, learning_rate, beta1, beta2, epsilon) लागू करें, gradients की हर पंक्ति के लिए क्रम से एक अपडेट करते हुए।
इनपुट
gradients: हर कदम के लिए एक पंक्ति; हर पंक्ति में हर वज़न के लिए एक ग्रेडिएंट।
weights: शुरुआती वज़न।
learning_rate, beta1, beta2, epsilon: Adam के हाइपरपैरामीटर (आम मान 0.001, 0.9, 0.999 और 0.00000001 हैं)।
आउटपुट
सभी कदमों के बाद वज़न लौटाएँ।
सीमाएँ
0 ≤ कदम ≤ 1,000, 1 ≤ वज़न ≤ 100
0 < learning_rate ≤ 1, 0 ≤ beta1, beta2 < 1, 0 < epsilon ≤ 0.001
-100 ≤ हर मान ≤ 100
उदाहरण
उदाहरण 1
इनपुट:
gradients = [
[2.0]
]
weights = [1.0]
learning_rate = 0.1
beta1 = 0.9
beta2 = 0.999
epsilon = 1.0e-08
अपेक्षित आउटपुट:
[0.9]
व्याख्या
m = 0.1 × 2 = 0.2 और v = 0.001 × 4 = 0.004। बायस करेक्शन से m̂ = 0.2 / 0.1 = 2 और v̂ = 0.004 / 0.001 = 4 मिलता है, इसलिए कदम 0.1 × 2 / √4 = 0.1 है: w = 0.9। पहले कदम पर Adam हर वज़न को लगभग learning rate जितना खिसकाता है, ग्रेडिएंट का आकार कुछ भी हो।
उदाहरण 2
इनपुट:
gradients = [
[100.0, 0.01]
]
weights = [0.0, 0.0]
learning_rate = 0.01
beta1 = 0.9
beta2 = 0.999
epsilon = 1.0e-08
अपेक्षित आउटपुट:
[-0.01, -0.01]
व्याख्या
ग्रेडिएंट में 10,000 गुना का अंतर है, फिर भी दोनों वज़न लगभग 0.01 खिसककर [-0.01, -0.01] हो जाते हैं: Adam हर कदम को उसके अपने ग्रेडिएंट के आकार से स्केल करता है।
संदर्भ
-
उदाहरण 1 नहीं चलाया गयाइनपुट:
gradients = [ [2.0] ] weights = [1.0] learning_rate = 0.1 beta1 = 0.9 beta2 = 0.999 epsilon = 1.0e-08अपेक्षित आउटपुट:[0.9]आपका आउटपुट -
उदाहरण 2 नहीं चलाया गयाइनपुट:
gradients = [ [100.0, 0.01] ] weights = [0.0, 0.0] learning_rate = 0.01 beta1 = 0.9 beta2 = 0.999 epsilon = 1.0e-08अपेक्षित आउटपुट:[-0.01, -0.01]आपका आउटपुट
सबमिट करने पर 4 छुपे हुए टेस्ट भी चलेंगे। अगर आपका कोड किसी में फेल होता है, तो आप वह टेस्ट देखेंगे। सभी देखने के लिए चैलेंज हल करें।
Online Go Compiler
Write, compile, run, and debug Go code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time - no setup required.
🚀 206,970 कुल निष्पादन (799 इस महीने)
कोडिंग चैलेंज के साथ Go का अभ्यास करें
सीधे इस एडिटर में प्रैक्टिकल समस्याएँ हल करें: सैंपल टेस्ट चलाएँ, सबमिट करें, और AI कोड रिव्यू पाएं।
🐹 इस Go ऑनलाइन एग्जीक्यूटर के बारे में
CodeUtility Go एग्जीक्यूटर आपको अपने ब्राउज़र में सीधे Go कोड लिखने और चलाने देता है - किसी इंस्टॉलेशन, सेटअप या लोकल एनवायरनमेंट की ज़रूरत नहीं। यह एक सुरक्षित सैंडबॉक्स द्वारा संचालित है जो असली Go कंपाइलर वर्ज़न 1.19, 1.20, और 1.21 को सपोर्ट करता है।
यह टूल क्लाउड में असली Go प्रोग्राम्स को कंपाइल और रन करता है, ताकि आपको एक असली Go एनवायरनमेंट मिले। आप छोटे स्निपेट्स टेस्ट कर सकते हैं, पैकेजेज़ के साथ प्रयोग कर सकते हैं, और goroutines व channels का उपयोग करके Go की शक्तिशाली concurrency फीचर्स को एक्सप्लोर कर सकते हैं।
यह वेरिएबल्स, फंक्शन्स, स्ट्रक्ट्स, slices, maps, interfaces और एरर हैंडलिंग जैसे Go के मुख्य कॉन्सेप्ट्स सीखने व अभ्यास करने के लिए बेहतरीन है - वह भी बिना कोई टूल लोकली इंस्टॉल किए।
चाहे आप पहली बार Go सीख रहे हों, बैकएंड लॉजिक टेस्ट कर रहे हों, या concurrency कैसे काम करती है यह समझ रहे हों - CodeUtility Go एग्जीक्यूटर आपको ब्राउज़र में तुरंत Go कोड चलाने का एक साफ़-सुथरा और तेज़ तरीका देता है।
सिर्फ़ एक कोड रनर से कहीं अधिक
एक ही एक्ज़ीक्यूटर में मल्टी-फ़ाइल एडिटर, अलग-थलग निष्पादन टर्मिनल, रनटाइम-विशिष्ट लाइब्रेरी, स्थायी वर्कस्पेस, साझाकरण और रीयल-टाइम सहयोग का उपयोग करें।
इस एक्ज़ीक्यूटर का उपयोग कैसे करें?
रनटाइम चुनें, फ़ाइल खोलें या बनाएँ, अपना कोड लिखें और चलाएँ चुनें। आउटपुट टर्मिनल में दिखाई देता है। साइन-इन उपयोगकर्ता वर्कस्पेस में फ़ाइलें रख सकते हैं, लाइब्रेरी इंस्टॉल कर सकते हैं और शेयर के माध्यम से सहयोग कर सकते हैं।
- एक संस्करण चुनें और वर्तमान फ़ाइल संपादित करें या वर्कस्पेस की दूसरी फ़ाइल खोलें।
- कोड चलाएँ, माँगे जाने पर टर्मिनल में इनपुट दें और सहेजा गया रन इतिहास देखें।
- जब कार्य के लिए एक से अधिक कोड अंश चाहिए, तो लाइब्रेरी, वर्कस्पेस टूल, शेयरिंग और चैट का उपयोग करें।
💡 Go की मूल बातें और उदाहरण जिन्हें आप ऊपर आज़मा सकते हैं
1. वेरिएबल्स और कॉन्स्टेंट्स की घोषणा
var या := से वेरिएबल्स घोषित करें। const कॉन्स्टेंट्स के लिए उपयोग करें।
package main
var x int = 10
const Pi = 3.14
func main() {
name := "Alice"
isActive := true
println(x, Pi, name, isActive)
}
2. शर्तें (if / switch)
Go साफ़ सिंटैक्स के साथ if-else और switch स्टेटमेंट सपोर्ट करता है।
x := 2
if x == 1 {
println("एक")
} else if x == 2 {
println("दो")
} else {
println("अन्य")
}
switch x {
case 1:
println("एक")
case 2:
println("दो")
default:
println("अन्य")
}
3. लूप्स
Go में सिर्फ for लूप होता है, लेकिन यह while जैसा भी काम कर सकता है।
for i := 0; i < 3; i++ {
println(i)
}
n := 3
for n > 0 {
println(n)
n--
}
4. एरेज़
Arrays का आकार फिक्स्ड होता है। डायनेमिक लिस्ट्स के लिए slices का उपयोग करें।
var nums = [3]int{10, 20, 30}
println(nums[1])
5. स्लाइस मैनिपुलेशन
slices और बिल्ट-इन append, len, copy, और slicing सिंटैक्स का उपयोग करें।
fruits := []string{"सेब", "केला"}
fruits = append(fruits, "चेरी")
fruits = fruits[1:] // स्लाइस
println(len(fruits))
for _, fruit := range fruits {
println(fruit)
}
6. कंसोल इनपुट/आउटपुट
fmt.Print, fmt.Scan, और fmt.Println का उपयोग करें।
import "fmt"
var name string
fmt.Print("अपना नाम दर्ज करें: ")
fmt.Scan(&name)
fmt.Println("नमस्ते", name)
7. फंक्शन्स
फंक्शन्स को func से घोषित करते हैं और ये कई वैल्यूज़ रिटर्न कर सकते हैं।
func greet(name string) string {
return "नमस्ते, " + name
}
message := greet("Alice")
println(message)
8. मैप्स
मैप्स key-value स्टोर्स होते हैं। make() से डिक्लेयर करें।
ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])
9. एरर हैंडलिंग
एक्सेप्शन्स की जगह Go एरर्स के लिए मल्टीपल रिटर्न वैल्यूज़ का उपयोग करता है।
import "errors"
func fail() error {
return errors.New("कुछ गड़बड़ हो गई")
}
err := fail()
if err != nil {
println(err.Error())
}
10. फाइल I/O
फाइल पढ़ने/लिखने के लिए os और io/ioutil पैकेज का उपयोग करें।
import (
"fmt"
"os"
"io/ioutil"
)
ioutil.WriteFile("file.txt", []byte("हैलो फाइल"), 0644)
data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))
11. स्ट्रिंग मैनिपुलेशन
स्ट्रिंग ऑपरेशंस के लिए strings पैकेज का उपयोग करें।
import "strings"
text := " नमस्ते दुनिया "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "नमस्ते", "हाय"))
words := strings.Split(text, " ")
fmt.Println(words)
12. स्ट्रक्ट्स और ऑब्जेक्ट्स
मेथड्स के साथ कस्टम टाइप्स परिभाषित करने के लिए structs का उपयोग करें।
type Person struct {
Name string
}
func (p Person) Greet() string {
return "हाय, मैं " + p.Name
}
p := Person{Name: "Alice"}
println(p.Greet())
13. रेफरेंसेज़ (पॉइंटर्स)
Go में * और & का उपयोग करके पॉइंटर्स सपोर्टेड हैं।
x := 10
ptr := &x
*ptr = 20
println(x) // 20