diff --git a/README.md b/README.md index 4f3fab6..aa8b69b 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ FileNest/ ```bash # Clone the repository -git clone https://github.com/lakshyajain-0291/FileNest.git +git clone https://github.com/AISocietyIITJ/FileNest.git cd FileNest # Set up backend dependencies diff --git a/tasks/crud/.gitkeep b/tasks/crud/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/crud/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/crud/README.md b/tasks/crud/README.md new file mode 100644 index 0000000..56bdef5 --- /dev/null +++ b/tasks/crud/README.md @@ -0,0 +1,136 @@ +# ๐Ÿ“‚ FileNest - File Metadata CRUD API + +This project is a basic **CRUD API in Go** for managing **file metadata** (such as filename, size, type, and upload time). +It is a foundational backend component for the upcoming **FileNest P2P File Sharing System**. + +--- + +## ๐Ÿ“ฆ Features + +- โœ… REST API with Go and Gorilla Mux +- โœ… MongoDB Atlas integration +- โœ… CRUD operations for file metadata +- โœ… Input validation and error handling +- โœ… Manual testing via Postman + +--- + +## ๐Ÿ“ Folder Structure + +``` +tasks/ +โ””โ”€โ”€ crud/ +โ”œโ”€โ”€ main.go +โ”œโ”€โ”€ model/ +โ”‚ โ””โ”€โ”€ models.go +โ”œโ”€โ”€ controller/ +โ”‚ โ””โ”€โ”€ controller.go +โ”œโ”€โ”€ router/ +โ”‚ โ””โ”€โ”€ router.go +โ”œโ”€โ”€ README.md +โ””โ”€โ”€ postman_screenshots/ +``` + +## โš™๏ธ Tech Stack + +| Layer | Tech | +|----------------|-------------------------------| +| Language | Golang 1.21+ | +| Router | Gorilla Mux | +| Database | MongoDB Atlas (or local) | +| Driver | Mongo Go Driver | +| Testing Tool | Postman, Curl | + +--- + +## ๐Ÿš€ Quick Start + +### ๐Ÿ“‹ Prerequisites + +- Go 1.21 or higher +- MongoDB Atlas or local MongoDB instance +- Git + +### ๐Ÿ“ฅ Installation + +```bash +# Download Go dependencies +go mod tidy +``` + +### โš™๏ธ Environment Setup + +Create a `.env` file in the root with the following: + +``` +MONGO_URI=mongodb+srv://:@cluster0.mongodb.net/?retryWrites=true&w=majority +``` + +### โ–ถ๏ธ Run the Server + +```bash +go run main.go +``` + +> Server starts on `http://localhost:4000` + +--- + +## ๐Ÿ“ก API Endpoints + +| Method | Endpoint | Description | +|--------|---------------------|------------------------------| +| GET | `/files` | Get all file records | +| GET | `/files/{id}` | Get file by ID | +| POST | `/files` | Create new file record | +| PUT | `/files/{id}` | Update file by ID | +| DELETE | `/files/{id}` | Delete file by ID | + +--- + +## ๐Ÿ“„ Data Model (FileMetadata) + +```go +type FileMetadata struct { + ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"` + Filename string `json:"filename" bson:"filename"` + Size int64 `json:"filesize" bson:"filesize"` + ContentType string `json:"content_type" bson:"content_type"` + UploadedAt primitive.DateTime `json:"uploaded_at,omitempty" bson:"uploaded_at,omitempty" +} +``` + +--- + +## ๐Ÿงช Testing + +Use [Postman](https://www.postman.com/) or Curl: + +### Create File (POST) + +```bash +curl -X POST http://localhost:4000/files \ + -H "Content-Type: application/json" \ + -d '{"filename":"test.pdf","filepath":"/docs/test.pdf","filesize":1024,"content_type":"application/pdf"}' +``` + +### Get All Files (GET) + +```bash +curl http://localhost:4000/files +``` + +### Update File (PUT) + +```bash +curl -X PUT http://localhost:4000/files/ \ + -H "Content-Type: application/json" \ + -d '{"filename":"updated.pdf"}' +``` + +### Delete File (DELETE) + +```bash +curl -X DELETE http://localhost:4000/files/ +``` + diff --git a/tasks/crud/controller/.gitkeep b/tasks/crud/controller/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/crud/controller/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/crud/controller/controller.go b/tasks/crud/controller/controller.go new file mode 100644 index 0000000..4f2a234 --- /dev/null +++ b/tasks/crud/controller/controller.go @@ -0,0 +1,117 @@ +package controller + +import ( + "context" + "encoding/json" + "fmt" + "log" + "mongodbgo/model" + "net/http" + "time" + + "github.com/gorilla/mux" + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" +) + +const connectionString = "mongodb+srv://Anarghya:hellomonkey@cluster0.aprqfub.mongodb.net/" +const dbName = "filenest" +const colName = "metadata" + +var collection *mongo.Collection + +func init() { + clientOption := options.Client().ApplyURI(connectionString) + client, err := mongo.Connect(context.TODO(), clientOption) + + if err != nil { + log.Fatal(err) + } + fmt.Println(("MongoDB Connection Successful")) + + collection = client.Database(dbName).Collection(colName) + fmt.Println("Collection instance is ready") +} + +func CreateFile(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + var file model.FileMeta + err := json.NewDecoder(r.Body).Decode(&file) + if err != nil || file.FileName == "" || file.Size <= 0 { + http.Error(w, "Invalid input", http.StatusBadRequest) + return + } + + file.UploadedAt = primitive.NewDateTimeFromTime(time.Now()) + result, err := collection.InsertOne(context.TODO(), file) + if err != nil { + http.Error(w, "Insert failed", http.StatusInternalServerError) + return + } + json.NewEncoder(w).Encode(result) +} + +func GetAllFiles(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + cur, err := collection.Find(context.TODO(), bson.D{{}}) + if err != nil { + http.Error(w, "Error fetching", http.StatusInternalServerError) + return + } + var files []bson.M + if err := cur.All(context.TODO(), &files); err != nil { + http.Error(w, "Decode error", http.StatusInternalServerError) + return + } + json.NewEncoder(w).Encode(files) +} + +func GetFile(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + id, _ := primitive.ObjectIDFromHex(mux.Vars(r)["id"]) + var file bson.M + err := collection.FindOne(context.TODO(), bson.M{"_id": id}).Decode(&file) + if err != nil { + http.Error(w, "Not found", http.StatusNotFound) + return + } + json.NewEncoder(w).Encode(file) +} + +func UpdateFile(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + id, _ := primitive.ObjectIDFromHex(mux.Vars(r)["id"]) + + var updated model.FileMeta + if err := json.NewDecoder(r.Body).Decode(&updated); err != nil { + http.Error(w, "Invalid input", http.StatusBadRequest) + return + } + + update := bson.M{"$set": bson.M{ + "filename": updated.FileName, + "size": updated.Size, + "content_type": updated.ContentType, + }} + + result, err := collection.UpdateOne(context.TODO(), bson.M{"_id": id}, update) + if err != nil { + http.Error(w, "Update failed", http.StatusInternalServerError) + return + } + json.NewEncoder(w).Encode(result) +} + +func DeleteFile(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + id, _ := primitive.ObjectIDFromHex(mux.Vars(r)["id"]) + + result, err := collection.DeleteOne(context.TODO(), bson.M{"_id": id}) + if err != nil { + http.Error(w, "Delete failed", http.StatusInternalServerError) + return + } + json.NewEncoder(w).Encode(result) +} diff --git a/tasks/crud/go.mod b/tasks/crud/go.mod new file mode 100644 index 0000000..2faf3a3 --- /dev/null +++ b/tasks/crud/go.mod @@ -0,0 +1,18 @@ +module mongodbgo + +go 1.24.4 + +require ( + github.com/golang/snappy v0.0.4 // indirect + github.com/gorilla/mux v1.8.1 // indirect + github.com/klauspost/compress v1.16.7 // indirect + github.com/montanaflynn/stats v0.7.1 // indirect + github.com/xdg-go/pbkdf2 v1.0.0 // indirect + github.com/xdg-go/scram v1.1.2 // indirect + github.com/xdg-go/stringprep v1.0.4 // indirect + github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect + go.mongodb.org/mongo-driver v1.17.4 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/text v0.17.0 // indirect +) diff --git a/tasks/crud/go.sum b/tasks/crud/go.sum new file mode 100644 index 0000000..afe6313 --- /dev/null +++ b/tasks/crud/go.sum @@ -0,0 +1,48 @@ +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= +github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.mongodb.org/mongo-driver v1.17.4 h1:jUorfmVzljjr0FLzYQsGP8cgN/qzzxlY9Vh0C9KFXVw= +go.mongodb.org/mongo-driver v1.17.4/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tasks/crud/main.go b/tasks/crud/main.go new file mode 100644 index 0000000..1e2d2b1 --- /dev/null +++ b/tasks/crud/main.go @@ -0,0 +1,16 @@ +package main + +import ( + "fmt" + "log" + "mongodbgo/router" + "net/http" +) + +func main() { + fmt.Println("MongoDB API") + r := router.Router() + fmt.Println("Server is getting started...") + log.Fatal(http.ListenAndServe(":4000", r)) + fmt.Println("Listening at port 4000...") +} diff --git a/tasks/crud/model/.gitkeep b/tasks/crud/model/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/crud/model/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/crud/model/models.go b/tasks/crud/model/models.go new file mode 100644 index 0000000..2cd098a --- /dev/null +++ b/tasks/crud/model/models.go @@ -0,0 +1,13 @@ +package model + +import ( + "go.mongodb.org/mongo-driver/bson/primitive" +) + +type FileMeta struct { + ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"` + FileName string `json:"filename"` + Size int64 `json:"size"` + ContentType string `json:"content_type"` + UploadedAt primitive.DateTime `json:"uploaded_at"` +} diff --git a/tasks/crud/postman_screenshots/.gitkeep b/tasks/crud/postman_screenshots/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/crud/postman_screenshots/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104500.png b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104500.png new file mode 100644 index 0000000..56e9f32 Binary files /dev/null and b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104500.png differ diff --git a/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104706.png b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104706.png new file mode 100644 index 0000000..e525c7e Binary files /dev/null and b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104706.png differ diff --git a/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104748.png b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104748.png new file mode 100644 index 0000000..dfccf2f Binary files /dev/null and b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104748.png differ diff --git a/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104900.png b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104900.png new file mode 100644 index 0000000..2525298 Binary files /dev/null and b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104900.png differ diff --git a/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104938.png b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104938.png new file mode 100644 index 0000000..160e586 Binary files /dev/null and b/tasks/crud/postman_screenshots/Screenshot 2025-06-26 104938.png differ diff --git a/tasks/crud/router/.gitkeep b/tasks/crud/router/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/crud/router/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/crud/router/router.go b/tasks/crud/router/router.go new file mode 100644 index 0000000..0293c73 --- /dev/null +++ b/tasks/crud/router/router.go @@ -0,0 +1,19 @@ +package router + +import ( + "mongodbgo/controller" + + "github.com/gorilla/mux" +) + +func Router() *mux.Router { + router := mux.NewRouter() + + router.HandleFunc("/files", controller.CreateFile).Methods("POST") + router.HandleFunc("/files", controller.GetAllFiles).Methods("GET") + router.HandleFunc("/files/{id}", controller.GetFile).Methods("GET") + router.HandleFunc("/files/{id}", controller.UpdateFile).Methods("PUT") + router.HandleFunc("/files/{id}", controller.DeleteFile).Methods("DELETE") + + return router +} diff --git a/tasks/localindexing/.gitkeep b/tasks/localindexing/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/localindexing/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/localindexing/README.md b/tasks/localindexing/README.md new file mode 100644 index 0000000..e9b31a4 --- /dev/null +++ b/tasks/localindexing/README.md @@ -0,0 +1,95 @@ +# FileNest - Local Indexing Phase + +A minimal, concurrent file embedding and D1TV assignment service in Go. Indexes files from a directory, generates semantic embeddings, assigns each file to a random D1TV centroid, and stores metadata and embeddings in PostgreSQL. + +--- + +## ๐Ÿš€ Features + +- **Concurrent File Processing:** Multi-worker pipeline for fast indexing. +- **Semantic Embeddings:** Generates 128-dim float embeddings (random for demo). +- **D1TV Assignment:** Assigns files to the nearest centroid using cosine similarity. +- **PostgreSQL Storage:** Stores file metadata, embeddings, and D1TV assignments. +- **Graceful Shutdown:** Handles interrupts and cleans up resources. + +--- + +## ๐Ÿ—๏ธ Project Structure + +``` +filenest-xs/ +โ”œโ”€โ”€ main.go # Entry point, worker pool, orchestration +โ”œโ”€โ”€ sample_files/ # Example files to index +โ”‚ โ”œโ”€โ”€ text.txt, data.json, readme.md +โ”œโ”€โ”€ go.mod, go.sum # Go dependencies +โ”œโ”€โ”€ .env # (Optional) Environment variables +``` + +--- + +## โš™๏ธ Setup & Usage + +### 1. Prerequisites + +- Go 1.23+ +- PostgreSQL (default: user `postgres`, password `postgres`, db `filenest_xs`) +- (Optional) Directory of sample files + +### 2. Database Setup + +Create the database: + +```sh +createdb -h localhost -U postgres filenest_xs +``` + +### 3. Install Dependencies + +```sh +go mod tidy +``` + +### 4. Run the Indexer + +```sh +go run main.go -dir=./sample_files -workers=5 +``` + +- `-dir`: Directory containing files (default: `./sample_files`) +- `-workers`: Number of concurrent workers (default: 5) + +--- + +## ๐Ÿ—ƒ๏ธ Database Schema + +Table: `file_index` + +| Column | Type | Description | +|-----------|--------------|------------------------------------| +| id | SERIAL | Primary key | +| file_name | TEXT | File name (unique with path) | +| file_path | TEXT | Full file path (unique with name) | +| embedding | float8[] | 128-dim embedding vector | +| d1tv_id | INTEGER | Assigned D1TV centroid | +| indexed_at| TIMESTAMP | Time of indexing | + +--- + +## ๐Ÿงฉ How It Works + +1. **main.go**: Reads files, spawns workers, orchestrates the pipeline. +2. **d1tv/d1tv.go**: Generates random embeddings, assigns to nearest centroid. +3. **database/db.go**: Handles DB connection, migration, and upsert. +4. **model/model.go**: GORM model for file metadata and embeddings. + +--- + +## ๐Ÿ“ License + +MIT License. See [LICENSE](../../LICENSE) for details. + +--- + +## ๐Ÿ™ Acknowledgments + +Inspired by the FileNest project (Summer RAID 2025, IIT Jodhpur). diff --git a/tasks/localindexing/go.mod b/tasks/localindexing/go.mod new file mode 100644 index 0000000..9e14ea7 --- /dev/null +++ b/tasks/localindexing/go.mod @@ -0,0 +1,5 @@ +module localindexing + +go 1.24.4 + +require github.com/lib/pq v1.10.9 diff --git a/tasks/localindexing/go.sum b/tasks/localindexing/go.sum new file mode 100644 index 0000000..aeddeae --- /dev/null +++ b/tasks/localindexing/go.sum @@ -0,0 +1,2 @@ +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= diff --git a/tasks/localindexing/main.go b/tasks/localindexing/main.go new file mode 100644 index 0000000..c09e418 --- /dev/null +++ b/tasks/localindexing/main.go @@ -0,0 +1,281 @@ +package main + +import ( + "context" + "database/sql" + "fmt" + "math" + "math/rand" + "os" + "os/signal" + "path/filepath" + "sync" + "time" + + "github.com/lib/pq" // PostgreSQL driver +) + +type FileJob struct { + Path string +} + +type D1TV struct { + ID int + Centroid []float64 //128 dimensional vector +} + +type Config struct { + DirPath string + WorkerCount int //5 + Timeout time.Duration + DBConnStr string + EmbeddingDim int //128 + D1TVCount int //10 +} + +type Indexer struct { + config Config + d1tvs []D1TV + db *sql.DB + jobs chan FileJob + wg sync.WaitGroup + ctx context.Context + cancel context.CancelFunc +} + +func generateRandomVector(dim int) []float64 { + vec := make([]float64, dim) + rand.Seed(time.Now().UnixNano()) + for i := range vec { + vec[i] = rand.Float64()*2 - 1 + } + + return normalizeVector(vec) +} + +func normalizeVector(vec []float64) []float64 { + magnitude := 0.0 + for _, v := range vec { + magnitude += v * v + } + magnitude = math.Sqrt(magnitude) + if magnitude == 0 { + return vec + } + result := make([]float64, len(vec)) + for i, v := range vec { + result[i] = v / magnitude + } + return result +} + +func generateEmbedding() []float64 { + const dim = 128 + vec := make([]float64, dim) + var norm float64 + + for i := 0; i < dim; i++ { + vec[i] = rand.Float64() + norm += vec[i] * vec[i] + } + + norm = math.Sqrt(norm) + for i := range vec { + vec[i] /= norm + } + + return vec +} + +func cosineSimilarity(a, b []float64) float64 { + if len(a) != len(b) { + return 0 + } + + dotProduct := 0.0 + normA, normB := 0.0, 0.0 + for i := range a { + dotProduct += a[i] * b[i] + normA += a[i] * a[i] + normB += b[i] * b[i] + } + + if normA == 0 || normB == 0 { + return 0 + } + + return dotProduct / (math.Sqrt(normA) * math.Sqrt(normB)) +} + +func initDB(connStr string) (*sql.DB, error) { + db, err := sql.Open("postgres", connStr) + if err != nil { + return nil, fmt.Errorf("failed to connect to database: %v", err) + } + + query := ` + CREATE TABLE IF NOT EXISTS file_index ( + id SERIAL PRIMARY KEY, + filename TEXT, + filepath TEXT, + embedding FLOAT8[], + d1tv_id INT, + indexed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + )` + _, err = db.Exec(query) + if err != nil { + db.Close() + return nil, fmt.Errorf("failed to create table: %v", err) + } + return db, nil +} + +func NewIndexer(config Config) (*Indexer, error) { + ctx, cancel := context.WithCancel(context.Background()) + db, err := initDB(config.DBConnStr) + if err != nil { + return nil, err + } + + d1tvs := make([]D1TV, config.D1TVCount) + for i := 0; i < config.D1TVCount; i++ { + d1tvs[i] = D1TV{ + ID: i + 1, + Centroid: generateEmbedding(), + } + } + + return &Indexer{ + config: config, + d1tvs: d1tvs, + db: db, + jobs: make(chan FileJob, 100), // Buffered channel + ctx: ctx, + cancel: cancel, + }, nil +} + +func (idx *Indexer) Start() error { + for i := 0; i < idx.config.WorkerCount; i++ { + idx.wg.Add(1) + go idx.worker(i) + } + + go idx.enqueueJobs() + + go idx.handleSignals() + + idx.wg.Wait() + + return idx.db.Close() +} + +func (idx *Indexer) enqueueJobs() { + defer close(idx.jobs) // Close channel when done + err := filepath.Walk(idx.config.DirPath, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if !info.IsDir() && isSupportedFile(path) { + select { + case idx.jobs <- FileJob{Path: path}: + case <-idx.ctx.Done(): + return idx.ctx.Err() + } + } + return nil + }) + if err != nil { + fmt.Printf("Error walking directory: %v\n", err) + } +} + +func isSupportedFile(path string) bool { + ext := filepath.Ext(path) + return ext == ".txt" || ext == ".md" || ext == ".json" +} + +func (idx *Indexer) worker(id int) { + defer idx.wg.Done() + for job := range idx.jobs { + if err := idx.processFile(id, job); err != nil { + fmt.Printf("[Worker-%d] Error processing %s: %v\n", id, job.Path, err) + } + } +} + +func (idx *Indexer) processFile(workerID int, job FileJob) error { + ctx, cancel := context.WithTimeout(idx.ctx, idx.config.Timeout) + defer cancel() + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + + embedding := generateEmbedding() + + d1tvID, similarity := idx.findClosestD1TV(embedding) + + filename := filepath.Base(job.Path) + query := ` + INSERT INTO file_index (filename, filepath, embedding, d1tv_id) + VALUES ($1, $2, $3, $4)` + _, err := idx.db.ExecContext(ctx, query, filename, job.Path, pq.Array(embedding), d1tvID) + if err != nil { + return fmt.Errorf("failed to insert into database: %v", err) + } + // Log result + fmt.Printf("[Worker-%d] Processed file: %s โ†’ D1TV: %d (similarity: %.2f)\n", + workerID, filename, d1tvID, similarity) + return nil +} + +func (idx *Indexer) findClosestD1TV(embedding []float64) (int, float64) { + maxSimilarity := -1.0 + var closestID int + for _, d1tv := range idx.d1tvs { + sim := cosineSimilarity(embedding, d1tv.Centroid) + if sim > maxSimilarity { + maxSimilarity = sim + closestID = d1tv.ID + } + } + return closestID, maxSimilarity +} + +func (idx *Indexer) handleSignals() { + sigChan := make(chan os.Signal, 1) + signal.Notify(sigChan, os.Interrupt) + <-sigChan + fmt.Println("\nReceived interrupt signal, shutting down...") + idx.cancel() +} + +func main() { + fmt.Print("Enter Directory Path: ") + var dirPath string + fmt.Scan(&dirPath) + config := Config{ + DirPath: dirPath, + WorkerCount: 5, + Timeout: 5 * time.Second, + DBConnStr: "host=localhost port=5432 user=postgres password=7291 dbname=filenest sslmode=disable", + EmbeddingDim: 128, + D1TVCount: 10, + } + + rand.Seed(time.Now().UnixNano()) + + indexer, err := NewIndexer(config) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to create indexer: %v\n", err) + os.Exit(1) + } + + if err := indexer.Start(); err != nil { + fmt.Fprintf(os.Stderr, "Indexing failed: %v\n", err) + os.Exit(1) + } + fmt.Println("Indexing completed successfully") +} diff --git a/tasks/localindexing/testdata/data.json b/tasks/localindexing/testdata/data.json new file mode 100644 index 0000000..b1c8a9c --- /dev/null +++ b/tasks/localindexing/testdata/data.json @@ -0,0 +1,3 @@ +{ + "lawl": "p" +} \ No newline at end of file diff --git a/tasks/localindexing/testdata/readme.md b/tasks/localindexing/testdata/readme.md new file mode 100644 index 0000000..2b813c5 --- /dev/null +++ b/tasks/localindexing/testdata/readme.md @@ -0,0 +1 @@ +wolololo \ No newline at end of file diff --git a/tasks/localindexing/testdata/text.txt b/tasks/localindexing/testdata/text.txt new file mode 100644 index 0000000..2a3c882 --- /dev/null +++ b/tasks/localindexing/testdata/text.txt @@ -0,0 +1 @@ +dog walker \ No newline at end of file diff --git a/tasks/mnist_classifier/.gitkeep b/tasks/mnist_classifier/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/mnist_classifier/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/mnist_classifier/README.md b/tasks/mnist_classifier/README.md new file mode 100644 index 0000000..f5bec85 --- /dev/null +++ b/tasks/mnist_classifier/README.md @@ -0,0 +1,41 @@ +# ๐Ÿง  MNIST Classifier + +A compact, configurable, and tunable digit classification model on the MNIST dataset using: + +- ๐Ÿ **PyTorch** (deep learning) +- โš™๏ธ **Hydra** (configuration management) +- ๐Ÿ“Š **Weights & Biases (WandB)** (logging) +- ๐Ÿ“ˆ **Ray AIR / Ray Tune** (hyperparameter tuning) +- ๐Ÿ“ฆ `uv` (ultra-fast package manager via `pyproject.toml`) + +--- + +## ๐Ÿ–ผ๏ธ Overview + +This project implements a MobileNet-inspired convolutional neural network to classify handwritten digits from the [MNIST dataset](http://yann.lecun.com/exdb/mnist/), with support for: + +- ๐Ÿงช Training & evaluation with AMP + LR scheduling +- ๐Ÿ” Tuning with Ray Tune or Ray AIR +- ๐ŸŽ›๏ธ Modular config management via Hydra +- ๐Ÿ“‰ Live experiment tracking with Weights & Biases + +--- + +## ๐Ÿ“ Directory Structure + +``` +tasks/mnist_classifier/ +โ”œโ”€โ”€ conf/ +โ”‚ โ”œโ”€โ”€ config.yaml # Hydra root config +โ”‚ โ”œโ”€โ”€ dataset/mnist.yaml # DataLoader config +โ”‚ โ”œโ”€โ”€ model/small_mobilenet.yaml # Model config +โ”‚ โ”œโ”€โ”€ optimizer/adam.yaml # Optimizer config +โ”‚ โ””โ”€โ”€ trainer/default.yaml # Training params +โ”œโ”€โ”€ data/ # Auto-downloaded MNIST data +โ”œโ”€โ”€ models/ +โ”‚ โ””โ”€โ”€ small_mobilenet.py # Custom lightweight CNN +โ”œโ”€โ”€ train.py # Main training entry point +โ”œโ”€โ”€ utils.py # Torchinfo summary, helper utils +โ”œโ”€โ”€ README.md # โ† you're here +โ”œโ”€โ”€ pyproject.toml # uv dependency manager +``` diff --git a/tasks/mnist_classifier/conf/config.yaml b/tasks/mnist_classifier/conf/config.yaml new file mode 100644 index 0000000..062836b --- /dev/null +++ b/tasks/mnist_classifier/conf/config.yaml @@ -0,0 +1,10 @@ +defaults: + - _self_ + - dataset: mnist + - model: small_mobilenet + - optimizer: adam + - trainer: default + +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} diff --git a/tasks/mnist_classifier/conf/dataset/mnist.yaml b/tasks/mnist_classifier/conf/dataset/mnist.yaml new file mode 100644 index 0000000..baa5b13 --- /dev/null +++ b/tasks/mnist_classifier/conf/dataset/mnist.yaml @@ -0,0 +1,3 @@ +_target_: data.mnist.get_dataloaders +batch_size: 32 +shuffle: true diff --git a/tasks/mnist_classifier/conf/model/small_mobilenet.yaml b/tasks/mnist_classifier/conf/model/small_mobilenet.yaml new file mode 100644 index 0000000..8099d4b --- /dev/null +++ b/tasks/mnist_classifier/conf/model/small_mobilenet.yaml @@ -0,0 +1 @@ +_target_: models.small_mobilenet.SmallMobileNet diff --git a/tasks/mnist_classifier/conf/optimizer/adam.yaml b/tasks/mnist_classifier/conf/optimizer/adam.yaml new file mode 100644 index 0000000..6eae286 --- /dev/null +++ b/tasks/mnist_classifier/conf/optimizer/adam.yaml @@ -0,0 +1,2 @@ +_target_: torch.optim.Adam +lr: 0.02055774776805891 diff --git a/tasks/mnist_classifier/conf/trainer/default.yaml b/tasks/mnist_classifier/conf/trainer/default.yaml new file mode 100644 index 0000000..efe3741 --- /dev/null +++ b/tasks/mnist_classifier/conf/trainer/default.yaml @@ -0,0 +1,2 @@ +epochs: 15 +mixed_precision: true diff --git a/tasks/mnist_classifier/data/.gitkeep b/tasks/mnist_classifier/data/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/mnist_classifier/data/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/mnist_classifier/data/mnist.py b/tasks/mnist_classifier/data/mnist.py new file mode 100644 index 0000000..9f14e61 --- /dev/null +++ b/tasks/mnist_classifier/data/mnist.py @@ -0,0 +1,15 @@ +from torchvision import transforms, datasets +from torch.utils.data import DataLoader + +def get_dataloaders(batch_size=64, shuffle=True): + transform = transforms.Compose([ + transforms.RandomAffine(degrees=10, translate=(0.1, 0.1)), + transforms.ToTensor(), + transforms.Normalize((0.1307,), (0.3081,)) + ]) + + train = datasets.MNIST(root="data", train=True, download=True, transform=transform) + test = datasets.MNIST(root="data", train=False, download=True, transform=transform) + + return DataLoader(train, batch_size=batch_size, shuffle=shuffle), \ + DataLoader(test, batch_size=512, shuffle=False) diff --git a/tasks/mnist_classifier/models/.gitkeep b/tasks/mnist_classifier/models/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/mnist_classifier/models/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/mnist_classifier/models/small_mobilenet.py b/tasks/mnist_classifier/models/small_mobilenet.py new file mode 100644 index 0000000..5a5cefd --- /dev/null +++ b/tasks/mnist_classifier/models/small_mobilenet.py @@ -0,0 +1,37 @@ +import torch.nn as nn + +class SmallMobileNet(nn.Module): + def __init__(self): + super().__init__() + + def dw_sep_conv(in_ch, out_ch): + return nn.Sequential( + nn.Conv2d(in_ch, in_ch, 3, padding=1, groups=in_ch, bias=False), + nn.BatchNorm2d(in_ch), + nn.ReLU(inplace=True), + nn.Conv2d(in_ch, out_ch, 1, bias=False), + nn.BatchNorm2d(out_ch), + nn.ReLU(inplace=True), + ) + + self.net = nn.Sequential( + nn.Conv2d(1, 12, 3, padding=1, bias=False), + nn.BatchNorm2d(12), + nn.ReLU(inplace=True), + + dw_sep_conv(12, 24), + nn.MaxPool2d(2), + + dw_sep_conv(24, 48), + nn.MaxPool2d(2), + + dw_sep_conv(48, 96), + nn.AdaptiveAvgPool2d(1), + ) + + self.classifier = nn.Linear(96, 10) + + def forward(self, x): + x = self.net(x) + x = x.view(x.size(0), -1) + return self.classifier(x) diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/config.yaml new file mode 100644 index 0000000..c2613b3 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/config.yaml @@ -0,0 +1,11 @@ +dataset: + dataset: + batch_size: 128 +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/hydra.yaml new file mode 100644 index 0000000..9c1e424 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-26-01 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-26-01/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/config.yaml new file mode 100644 index 0000000..c2613b3 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/config.yaml @@ -0,0 +1,11 @@ +dataset: + dataset: + batch_size: 128 +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/hydra.yaml new file mode 100644 index 0000000..37a2486 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-29-51 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-29-51/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/config.yaml new file mode 100644 index 0000000..c2613b3 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/config.yaml @@ -0,0 +1,11 @@ +dataset: + dataset: + batch_size: 128 +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/hydra.yaml new file mode 100644 index 0000000..1e1735f --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-31-43 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-31-43/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/config.yaml new file mode 100644 index 0000000..c2613b3 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/config.yaml @@ -0,0 +1,11 @@ +dataset: + dataset: + batch_size: 128 +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/hydra.yaml new file mode 100644 index 0000000..7e90567 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-35-31 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-35-31/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/config.yaml new file mode 100644 index 0000000..81c2906 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/config.yaml @@ -0,0 +1,13 @@ +dataset: + dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/hydra.yaml new file mode 100644 index 0000000..0c376d0 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-36-54 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-36-54/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/config.yaml new file mode 100644 index 0000000..81c2906 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/config.yaml @@ -0,0 +1,13 @@ +dataset: + dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + model: + name: SmallMobileNet +trainer: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/hydra.yaml new file mode 100644 index 0000000..f4677e4 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/hydra.yaml @@ -0,0 +1,157 @@ +hydra: + run: + dir: outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\configs + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-37-17 + choices: + trainer: base + model: mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-37-17/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/config.yaml new file mode 100644 index 0000000..04a4ba9 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/config.yaml @@ -0,0 +1,13 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/hydra.yaml new file mode 100644 index 0000000..136c923 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-46-16 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/config.yaml new file mode 100644 index 0000000..82fb973 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/config.yaml @@ -0,0 +1,39 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + value: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + value: + trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-metadata.json new file mode 100644 index 0000000..98e4f6d --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:16:17.253871Z", + "program": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\21-46-16", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268472086528" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-summary.json b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-summary.json new file mode 100644 index 0000000..88b216d --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":96}} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/run-3zrta7q4.wandb b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/run-3zrta7q4.wandb new file mode 100644 index 0000000..71c2436 Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/21-46-16/wandb/run-20250627_214616-3zrta7q4/run-3zrta7q4.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/config.yaml new file mode 100644 index 0000000..04a4ba9 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/config.yaml @@ -0,0 +1,13 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/hydra.yaml new file mode 100644 index 0000000..373829d --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-49-28 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/config.yaml new file mode 100644 index 0000000..82fb973 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/config.yaml @@ -0,0 +1,39 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + value: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + value: + trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-metadata.json new file mode 100644 index 0000000..7992c79 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:19:29.713654Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\21-49-28", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268545261568" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-summary.json b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-summary.json new file mode 100644 index 0000000..5416278 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":32}} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/run-7w0hcnoj.wandb b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/run-7w0hcnoj.wandb new file mode 100644 index 0000000..06b3ca7 Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/21-49-28/wandb/run-20250627_214929-7w0hcnoj/run-7w0hcnoj.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/hydra.yaml new file mode 100644 index 0000000..78bad8f --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-51-43 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/wandb-metadata.json new file mode 100644 index 0000000..84cc996 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:21:44.656622Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\21-51-43", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268618629120" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/run-dpm49tsc.wandb b/tasks/mnist_classifier/outputs/2025-06-27/21-51-43/wandb/run-20250627_215144-dpm49tsc/run-dpm49tsc.wandb new file mode 100644 index 0000000..e69de29 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/hydra.yaml new file mode 100644 index 0000000..7609944 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-56-04 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/config.yaml new file mode 100644 index 0000000..66fc25d --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/config.yaml @@ -0,0 +1,38 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + value: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + value: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-metadata.json new file mode 100644 index 0000000..b4b42cd --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:26:05.691383Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\21-56-04", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268699574272" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-summary.json b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-summary.json new file mode 100644 index 0000000..ae285c0 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":54}} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/run-z3wufb03.wandb b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/run-z3wufb03.wandb new file mode 100644 index 0000000..5ed9b8b Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/21-56-04/wandb/run-20250627_215605-z3wufb03/run-z3wufb03.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/hydra.yaml new file mode 100644 index 0000000..683583a --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\21-58-36 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/wandb-metadata.json new file mode 100644 index 0000000..4ed4f69 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:28:37.690788Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\21-58-36", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268763856896" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/run-7yukgju6.wandb b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/run-7yukgju6.wandb new file mode 100644 index 0000000..f7c0c18 Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/21-58-36/wandb/run-20250627_215837-7yukgju6/run-7yukgju6.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/hydra.yaml new file mode 100644 index 0000000..6c610bc --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\22-10-18 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/requirements.txt new file mode 100644 index 0000000..bbd7d5a --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/requirements.txt @@ -0,0 +1,58 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +tqdm==4.67.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/wandb-metadata.json new file mode 100644 index 0000000..37986a1 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:40:20.240927Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\22-10-18", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268870844416" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/run-quzm7eu7.wandb b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/run-quzm7eu7.wandb new file mode 100644 index 0000000..1f70fb1 Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/22-10-18/wandb/run-20250627_221019-quzm7eu7/run-quzm7eu7.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/hydra.yaml new file mode 100644 index 0000000..3815d9f --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\22-37-36 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/requirements.txt new file mode 100644 index 0000000..bbd7d5a --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/requirements.txt @@ -0,0 +1,58 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +tqdm==4.67.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/wandb-metadata.json new file mode 100644 index 0000000..4517f75 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T17:07:38.055477Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\22-37-36", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "269077807104" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/run-wwujrm42.wandb b/tasks/mnist_classifier/outputs/2025-06-27/22-37-36/wandb/run-20250627_223737-wwujrm42/run-wwujrm42.wandb new file mode 100644 index 0000000..e69de29 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/hydra.yaml new file mode 100644 index 0000000..83f0edb --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\22-41-00 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/requirements.txt new file mode 100644 index 0000000..bbd7d5a --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/requirements.txt @@ -0,0 +1,58 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +tqdm==4.67.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/wandb-metadata.json new file mode 100644 index 0000000..56ed346 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T17:11:01.258768Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\22-41-00", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "269147238400" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/run-6z5hiqgl.wandb b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/run-6z5hiqgl.wandb new file mode 100644 index 0000000..c0dc834 Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/22-41-00/wandb/run-20250627_224100-6z5hiqgl/run-6z5hiqgl.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/hydra.yaml new file mode 100644 index 0000000..ff7c996 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: tempCodeRunnerFile + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\22-52-05 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-52-05/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/hydra.yaml new file mode 100644 index 0000000..b17e954 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: sweep_ray + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\22-53-05 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/22-53-05/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/hydra.yaml new file mode 100644 index 0000000..ffae0ee --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: sweep_ray + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\23-04-52 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-04-52/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/hydra.yaml new file mode 100644 index 0000000..981a62a --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: sweep_ray + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\23-21-09 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-21-09/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/hydra.yaml new file mode 100644 index 0000000..cef6c4e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.1' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-27\23-22-22 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/config.yaml b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/config.yaml new file mode 100644 index 0000000..5491d34 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/config.yaml @@ -0,0 +1,38 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.10.18 + t: + "1": + - 1 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.10.18 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + value: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + value: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/requirements.txt b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/requirements.txt new file mode 100644 index 0000000..9aef162 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/requirements.txt @@ -0,0 +1,58 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.4.2 +numpy==2.2.6 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +tomli==2.2.1 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +tqdm==4.67.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-metadata.json b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-metadata.json new file mode 100644 index 0000000..ef9bff7 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-10-10.0.26100-SP0", + "python": "CPython 3.10.18", + "startedAt": "2025-06-27T17:52:24.648287Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\outputs\\2025-06-27\\23-22-22", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "..\\..\\..\\train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "270598201344" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-summary.json b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-summary.json new file mode 100644 index 0000000..808c333 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/files/wandb-summary.json @@ -0,0 +1 @@ +{"epoch":19,"loss":0.03094363575247722,"accuracy":0.99025,"_timestamp":1.7510540025241437e+09,"_runtime":7257.8763697,"_step":20,"test_accuracy":0.9897,"_wandb":{"runtime":7258}} \ No newline at end of file diff --git a/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/run-ckadtwiq.wandb b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/run-ckadtwiq.wandb new file mode 100644 index 0000000..a7a01fd Binary files /dev/null and b/tasks/mnist_classifier/outputs/2025-06-27/23-22-22/wandb/run-20250627_232223-ckadtwiq/run-ckadtwiq.wandb differ diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/hydra.yaml new file mode 100644 index 0000000..5350724 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-28\12-16-41 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-16-41/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/hydra.yaml new file mode 100644 index 0000000..202f0b7 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-28\12-43-19 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-43-19/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/hydra.yaml new file mode 100644 index 0000000..795a79c --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-28\12-48-49 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-48-49/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/hydra.yaml new file mode 100644 index 0000000..50b9dd2 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: C:\Users\admin\Documents\MyCodes\MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: C:\Users\admin\Documents\MyCodes\MNIST Classifier\conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: C:\Users\admin\Documents\MyCodes\MNIST Classifier\outputs\2025-06-28\12-50-54 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/12-50-54/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/hydra.yaml new file mode 100644 index 0000000..5db0a37 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-24-08 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-24-08/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/hydra.yaml new file mode 100644 index 0000000..b4052d6 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-25-56 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-25-56/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/hydra.yaml new file mode 100644 index 0000000..81ed594 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-26-37 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-26-37/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/hydra.yaml new file mode 100644 index 0000000..3334c74 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-27-33 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-27-33/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/hydra.yaml new file mode 100644 index 0000000..f18dc4f --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-31-35 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-31-35/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/hydra.yaml new file mode 100644 index 0000000..b2b1453 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-32-20 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-32-20/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/hydra.yaml new file mode 100644 index 0000000..b9d7e7f --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST Classifier/outputs/2025-06-28/13-33-41 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-33-41/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/config.yaml new file mode 100644 index 0000000..6d6914b --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 20 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/hydra.yaml new file mode 100644 index 0000000..3d761c4 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/13-36-06 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-36-06/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/config.yaml new file mode 100644 index 0000000..c4437e0 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.01 +trainer: + epochs: 1 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/hydra.yaml new file mode 100644 index 0000000..6cbaeb2 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/13-39-33 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/13-39-33/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/hydra.yaml new file mode 100644 index 0000000..0de0108 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/14-21-12 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-21-12/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/hydra.yaml new file mode 100644 index 0000000..f99b605 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/14-26-12 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-26-12/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/hydra.yaml new file mode 100644 index 0000000..e936e91 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/14-27-25 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-27-25/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/hydra.yaml new file mode 100644 index 0000000..ecea067 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/14-32-33 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/14-32-33/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/hydra.yaml new file mode 100644 index 0000000..2191cd6 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: ray_tuning + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/21-31-33 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/21-31-33/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/config.yaml b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/config.yaml new file mode 100644 index 0000000..201db71 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/config.yaml @@ -0,0 +1,12 @@ +dataset: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/hydra.yaml b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/hydra.yaml new file mode 100644 index 0000000..0a7d85e --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/hydra.yaml @@ -0,0 +1,158 @@ +hydra: + run: + dir: ./outputs/${now:%Y-%m-%d}/${now:%H-%M-%S} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: [] + job: + name: train + chdir: null + override_dirname: '' + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/anarghya/Documents/MNIST_Classifier + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/anarghya/Documents/MNIST_Classifier/conf + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/anarghya/Documents/MNIST_Classifier/outputs/2025-06-28/22-51-05 + choices: + trainer: default + optimizer: adam + model: small_mobilenet + dataset: mnist + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/overrides.yaml b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/overrides.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/tasks/mnist_classifier/outputs/2025-06-28/22-51-05/.hydra/overrides.yaml @@ -0,0 +1 @@ +[] diff --git a/tasks/mnist_classifier/params_info.py b/tasks/mnist_classifier/params_info.py new file mode 100644 index 0000000..01e912c --- /dev/null +++ b/tasks/mnist_classifier/params_info.py @@ -0,0 +1,5 @@ +from torchinfo import summary +from models.small_mobilenet import SmallMobileNet + + +summary(SmallMobileNet(), input_size=(1, 1, 28, 28)) diff --git a/tasks/mnist_classifier/pyproject.toml b/tasks/mnist_classifier/pyproject.toml new file mode 100644 index 0000000..eb10032 --- /dev/null +++ b/tasks/mnist_classifier/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "mnist_classifier" +version = "0.1.0" +dependencies = [ + "torch", + "torchvision", + "wandb", + "hydra-core", + "ray[tune]", + "torchinfo", + "black", + "isort" +] diff --git a/tasks/mnist_classifier/ray_tuning.py b/tasks/mnist_classifier/ray_tuning.py new file mode 100644 index 0000000..56b815e --- /dev/null +++ b/tasks/mnist_classifier/ray_tuning.py @@ -0,0 +1,121 @@ +import hydra +import torch +from omegaconf import DictConfig, OmegaConf +from torch.amp import autocast, GradScaler +from tqdm import tqdm + +import ray +from ray import tune, air +from ray.air import session +from ray.air.config import RunConfig, ScalingConfig +from ray.tune.schedulers import ASHAScheduler +from ray.air.integrations.wandb import WandbLoggerCallback + +def train_func(config): + from models.small_mobilenet import SmallMobileNet + from data.mnist import get_dataloaders + + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + model = SmallMobileNet().to(device) + + train_loader, test_loader = get_dataloaders( + batch_size=config["batch_size"], + shuffle=True, + ) + + optimizer = torch.optim.Adam(model.parameters(), lr=config["lr"]) + scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.5) + criterion = torch.nn.CrossEntropyLoss() + scaler = GradScaler(device=device, enabled=config.get("mixed_precision", False)) + + for epoch in range(1): + model.train() + total, correct, loss_sum = 0, 0, 0 + loop = tqdm(train_loader, desc=f"Epoch [{epoch+1}/{1}]", leave=False) + + for x, y in loop: + x, y = x.to(device), y.to(device) + optimizer.zero_grad() + with autocast(device_type=device.type, enabled=config.get("mixed_precision", False)): + preds = model(x) + loss = criterion(preds, y) + scaler.scale(loss).backward() + scaler.step(optimizer) + scaler.update() + + loss_sum += loss.item() + correct += (preds.argmax(1) == y).sum().item() + total += y.size(0) + + loop.set_postfix({ + "loss": f"{loss.item():.4f}", + "acc": f"{(correct / total) * 100:.2f}%", + }) + + train_acc = correct / total + train_loss = loss_sum / len(train_loader) + scheduler.step() + + # Evaluate + model.eval() + total, correct = 0, 0 + with torch.no_grad(): + for x, y in test_loader: + x, y = x.to(device), y.to(device) + preds = model(x) + correct += (preds.argmax(1) == y).sum().item() + total += y.size(0) + + test_acc = correct / total + + # Report back to Ray AIR + session.report({ + "loss": train_loss, + "accuracy": test_acc + }) + +@hydra.main(config_path="conf", config_name="config", version_base=None) +def main(cfg: DictConfig): + print(OmegaConf.to_yaml(cfg)) + ray.init( + include_dashboard=False, + num_cpus=7, + num_gpus=1 if torch.cuda.is_available() else 0, + ignore_reinit_error=True, + ) + + search_space = { + "lr": tune.loguniform(1e-4, 1e-1), + "batch_size": tune.choice([32, 64, 128]), + "epochs": cfg.trainer.epochs, + "mixed_precision": cfg.trainer.mixed_precision, + } + + scheduler = ASHAScheduler( + max_t=cfg.trainer.epochs, + grace_period=1, + reduction_factor=2, + metric="loss", + mode="min" + ) + + tuner = tune.Tuner( + train_func, + tune_config=tune.TuneConfig( + scheduler=scheduler, + num_samples=10, + ), + run_config=RunConfig( + name="mnist_tuning", + callbacks=[WandbLoggerCallback(project="mnist", log_config=True)], + ), + param_space=search_space, + ) + + results = tuner.fit() + best = results.get_best_result(metric="loss", mode="min") + print("Best config:", best.config) + print("Best test accuracy:", best.metrics["accuracy"]) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tasks/mnist_classifier/train.py b/tasks/mnist_classifier/train.py new file mode 100644 index 0000000..796b3c3 --- /dev/null +++ b/tasks/mnist_classifier/train.py @@ -0,0 +1,105 @@ +import hydra +import torch +from omegaconf import DictConfig, OmegaConf +from torch.amp import autocast, GradScaler +from tqdm import tqdm +import wandb + +def train_func(config): + from models.small_mobilenet import SmallMobileNet + from data.mnist import get_dataloaders + + wandb.init(project="mnist", config=config) + + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + model = SmallMobileNet().to(device) + + train_loader, test_loader = get_dataloaders( + batch_size=config["batch_size"], + shuffle=True, + ) + + optimizer = torch.optim.Adam(model.parameters(), lr=config["lr"]) + scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.5) + criterion = torch.nn.CrossEntropyLoss() + scaler = GradScaler(device=device, enabled=config.get("mixed_precision", False)) + + for epoch in range(config["epochs"]): + model.train() + total, correct, loss_sum = 0, 0, 0 + loop = tqdm(train_loader, desc=f"Epoch [{epoch+1}/{config['epochs']}]", leave=True) + + for x, y in loop: + x, y = x.to(device), y.to(device) + optimizer.zero_grad() + with autocast(device_type=device.type, enabled=config.get("mixed_precision", False)): + preds = model(x) + loss = criterion(preds, y) + scaler.scale(loss).backward() + scaler.step(optimizer) + scaler.update() + + loss_sum += loss.item() + correct += (preds.argmax(1) == y).sum().item() + total += y.size(0) + + loop.set_postfix({ + "loss": f"{loss.item():.4f}", + "acc": f"{(correct / total) * 100:.2f}%", + }) + + train_acc = correct / total + train_loss = loss_sum / len(train_loader) + scheduler.step() + + model.eval() + test_total, test_correct = 0, 0 + with torch.no_grad(): + for x, y in test_loader: + x, y = x.to(device), y.to(device) + preds = model(x) + test_correct += (preds.argmax(1) == y).sum().item() + test_total += y.size(0) + test_acc = test_correct / test_total + + wandb.log({ + "Epoch": epoch, + "Train Loss": train_loss, + "Train Accuracy": train_acc, + "Test Accuracy": test_acc, + }) + + model.eval() + total, correct = 0, 0 + with torch.no_grad(): + for x, y in test_loader: + x, y = x.to(device), y.to(device) + preds = model(x) + correct += (preds.argmax(1) == y).sum().item() + total += y.size(0) + + test_acc = correct / total + print("Training complete!\n") + print("Test Accuracy:", test_acc) + + + wandb.finish() + + + +@hydra.main(config_path="conf", config_name="config", version_base=None) +def main(cfg: DictConfig): + print(OmegaConf.to_yaml(cfg)) + + config = { + "batch_size": cfg.dataset.batch_size, + "lr": cfg.optimizer.lr, + "epochs": cfg.trainer.epochs, + "mixed_precision": cfg.trainer.mixed_precision, + } + + train_func(config) + + +if __name__ == "__main__": + main() diff --git a/tasks/mnist_classifier/wandb/latest-run b/tasks/mnist_classifier/wandb/latest-run new file mode 100644 index 0000000..e69de29 diff --git a/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/files/wandb-summary.json new file mode 100644 index 0000000..6c37fe1 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":0}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/run-xwmogdfy.wandb b/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/run-xwmogdfy.wandb new file mode 100644 index 0000000..7f2b0a8 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250627_213002-xwmogdfy/run-xwmogdfy.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/config.yaml new file mode 100644 index 0000000..b605143 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/config.yaml @@ -0,0 +1,37 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + dataset: + batch_size: 128 +model: + value: + model: + name: SmallMobileNet +trainer: + value: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-metadata.json new file mode 100644 index 0000000..91d8c2f --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:01:45.301940Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268466536448" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-summary.json new file mode 100644 index 0000000..4e355fc --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":1}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/run-aam4zb9t.wandb b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/run-aam4zb9t.wandb new file mode 100644 index 0000000..8dccdaa Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250627_213144-aam4zb9t/run-aam4zb9t.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/config.yaml new file mode 100644 index 0000000..b605143 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/config.yaml @@ -0,0 +1,37 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + dataset: + batch_size: 128 +model: + value: + model: + name: SmallMobileNet +trainer: + value: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-metadata.json new file mode 100644 index 0000000..91b43cf --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:05:33.393764Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268465520640" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-summary.json new file mode 100644 index 0000000..1d52051 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":2}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/run-0xc2egdy.wandb b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/run-0xc2egdy.wandb new file mode 100644 index 0000000..662665d Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250627_213532-0xc2egdy/run-0xc2egdy.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/config.yaml new file mode 100644 index 0000000..9ca44d0 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/config.yaml @@ -0,0 +1,39 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + model: + name: SmallMobileNet +trainer: + value: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-metadata.json new file mode 100644 index 0000000..2d6c2ad --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:06:55.641606Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268467191808" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-summary.json new file mode 100644 index 0000000..4e355fc --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":1}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/run-mndaqxik.wandb b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/run-mndaqxik.wandb new file mode 100644 index 0000000..2bf14ed Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250627_213655-mndaqxik/run-mndaqxik.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/config.yaml new file mode 100644 index 0000000..9ca44d0 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/config.yaml @@ -0,0 +1,39 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.12.4 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.12.4 + "5": 0.20.1 + "8": + - 3 + "12": 0.20.1 + "13": windows-amd64 +dataset: + value: + dataset: + _target_: data.mnist.get_dataloaders + batch_size: 64 + shuffle: true +model: + value: + model: + name: SmallMobileNet +trainer: + value: + trainer: + epochs: 20 + lr: 0.01 + mixed_precision: true diff --git a/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/requirements.txt new file mode 100644 index 0000000..e68e46e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/requirements.txt @@ -0,0 +1,57 @@ +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +attrs==25.3.0 +black==25.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +filelock==3.18.0 +fsspec==2025.5.1 +gitdb==4.0.12 +GitPython==3.1.44 +hydra-core==1.3.2 +idna==3.10 +isort==6.0.1 +Jinja2==3.1.6 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +MarkupSafe==3.0.2 +mpmath==1.3.0 +msgpack==1.1.1 +mypy_extensions==1.1.0 +networkx==3.5 +numpy==2.3.1 +omegaconf==2.3.0 +packaging==25.0 +pandas==2.3.0 +pathspec==0.12.1 +pillow==11.2.1 +platformdirs==4.3.8 +protobuf==6.31.1 +psutil==7.0.0 +pyarrow==20.0.0 +pydantic==2.11.7 +pydantic_core==2.33.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +ray==2.47.1 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +sentry-sdk==2.32.0 +setproctitle==1.3.6 +setuptools==80.9.0 +six==1.17.0 +smmap==5.0.2 +sympy==1.14.0 +tensorboardX==2.6.4 +torch==2.7.1 +torchinfo==1.8.0 +torchvision==0.22.1 +typing_extensions==4.14.0 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +wandb==0.20.1 diff --git a/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-metadata.json new file mode 100644 index 0000000..e90d4c8 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-metadata.json @@ -0,0 +1,30 @@ +{ + "os": "Windows-11-10.0.26100-SP0", + "python": "CPython 3.12.4", + "startedAt": "2025-06-27T16:07:19.056890Z", + "program": "c:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\train.py", + "codePath": "Documents\\MyCodes\\MNIST Classifier\\train.py", + "git": { + "commit": "418c24c5add27b2d544e8a83f633664d80f47d9c" + }, + "email": "anarghya1616@gmail.com", + "root": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier", + "host": "DESKTOP-7VEUQ93", + "executable": "C:\\Users\\admin\\Documents\\MyCodes\\MNIST Classifier\\.venv\\Scripts\\python.exe", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "394227871744", + "used": "268467494912" + } + }, + "memory": { + "total": "8360550400" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-summary.json new file mode 100644 index 0000000..4e355fc --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":1}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/run-4x3vm11x.wandb b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/run-4x3vm11x.wandb new file mode 100644 index 0000000..d8e3149 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250627_213718-4x3vm11x/run-4x3vm11x.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/files/wandb-summary.json new file mode 100644 index 0000000..6c37fe1 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":0}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/run-djw6jtni.wandb b/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/run-djw6jtni.wandb new file mode 100644 index 0000000..e4edac4 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250628_142614-djw6jtni/run-djw6jtni.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/config.yaml new file mode 100644 index 0000000..f77496e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/config.yaml @@ -0,0 +1,39 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.10.12 + t: + "1": + - 1 + - 30 + - 41 + - 50 + "2": + - 1 + - 30 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.10.12 + "5": 0.20.1 + "12": 0.20.1 + "13": linux-x86_64 +dataset: + value: + _target_: data.mnist.get_dataloaders + batch_size: 32 + shuffle: true +model: + value: + _target_: models.small_mobilenet.SmallMobileNet +optimizer: + value: + _target_: torch.optim.Adam + lr: 0.02055774776805891 +trainer: + value: + epochs: 15 + mixed_precision: true diff --git a/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/requirements.txt new file mode 100644 index 0000000..5332d9c --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/requirements.txt @@ -0,0 +1,76 @@ +setproctitle==1.2.2 +colorama==0.4.6 +psutil==7.0.0 +requests==2.32.4 +numpy==2.2.6 +torchvision==0.22.1 +nvidia-cusparselt-cu12==0.6.3 +typing_extensions==4.14.0 +hydra-core==1.3.2 +Jinja2==3.1.6 +filelock==3.18.0 +nvidia-nccl-cu12==2.26.2 +gitdb==4.0.12 +nvidia-cusolver-cu12==11.7.1.2 +MarkupSafe==3.0.2 +msgpack==1.1.1 +urllib3==2.5.0 +nvidia-cufft-cu12==11.3.0.4 +tensorboardX==2.6.4 +click==8.2.1 +sentry-sdk==2.32.0 +torch==2.7.1 +typing-inspection==0.4.1 +psutil==7.0.0 +nvidia-cudnn-cu12==9.5.1.17 +black==25.1.0 +jsonschema-specifications==2025.4.1 +nvidia-cuda-cupti-cu12==12.6.80 +networkx==3.4.2 +jsonschema==4.24.0 +nvidia-curand-cu12==10.3.7.77 +setproctitle==1.3.6 +protobuf==6.31.1 +nvidia-cufile-cu12==1.11.1.6 +antlr4-python3-runtime==4.9.3 +packaging==25.0 +pydantic_core==2.33.2 +tqdm==4.67.1 +PyYAML==6.0.2 +nvidia-cuda-nvrtc-cu12==12.6.77 +pytz==2025.2 +ray==2.47.1 +nvidia-nvjitlink-cu12==12.6.85 +charset-normalizer==3.4.2 +pydantic==2.11.7 +pillow==11.2.1 +mypy_extensions==1.1.0 +tomli==2.2.1 +annotated-types==0.7.0 +smmap==5.0.2 +mpmath==1.3.0 +setuptools==80.9.0 +isort==6.0.1 +idna==3.10 +fsspec==2025.5.1 +certifi==2025.6.15 +nvidia-nvtx-cu12==12.6.77 +attrs==25.3.0 +platformdirs==4.3.8 +python-dateutil==2.9.0.post0 +six==1.17.0 +nvidia-cusparse-cu12==12.5.4.2 +GitPython==3.1.44 +pyarrow==20.0.0 +referencing==0.36.2 +rpds-py==0.25.1 +triton==3.3.1 +sympy==1.14.0 +tzdata==2025.2 +wandb==0.20.1 +pathspec==0.12.1 +pandas==2.3.0 +torchinfo==1.8.0 +nvidia-cublas-cu12==12.6.4.1 +nvidia-cuda-runtime-cu12==12.6.77 +omegaconf==2.3.0 diff --git a/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-metadata.json new file mode 100644 index 0000000..0852e59 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-metadata.json @@ -0,0 +1,27 @@ +{ + "os": "Linux-6.8.0-57-generic-x86_64-with-glibc2.35", + "python": "CPython 3.10.12", + "startedAt": "2025-06-28T08:57:28.086950Z", + "program": "/home/anarghya/Documents/MNIST_Classifier/train.py", + "codePath": "train.py", + "email": "anarghya1616@gmail.com", + "root": "/home/anarghya/Documents/MNIST_Classifier", + "host": "anarghya-ThinkPad-L390", + "executable": "/home/anarghya/Documents/MNIST_Classifier/.venv/bin/python", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "105351835648", + "used": "48330493952" + } + }, + "memory": { + "total": "8096940032" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-summary.json new file mode 100644 index 0000000..1d52051 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":2}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/run-6cecdse6.wandb b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/run-6cecdse6.wandb new file mode 100644 index 0000000..edde6d0 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250628_142727-6cecdse6/run-6cecdse6.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/config.yaml new file mode 100644 index 0000000..da97943 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/config.yaml @@ -0,0 +1,29 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.10.12 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 16 + - 55 + "4": 3.10.12 + "5": 0.20.1 + "12": 0.20.1 + "13": linux-x86_64 +batch_size: + value: 32 +epochs: + value: 15 +lr: + value: 0.02055774776805891 +mixed_precision: + value: true diff --git a/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/requirements.txt new file mode 100644 index 0000000..194a28e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/requirements.txt @@ -0,0 +1,73 @@ +requests==2.32.4 +numpy==2.2.6 +torchvision==0.22.1 +nvidia-cusparselt-cu12==0.6.3 +typing_extensions==4.14.0 +hydra-core==1.3.2 +Jinja2==3.1.6 +filelock==3.18.0 +nvidia-nccl-cu12==2.26.2 +gitdb==4.0.12 +nvidia-cusolver-cu12==11.7.1.2 +MarkupSafe==3.0.2 +msgpack==1.1.1 +urllib3==2.5.0 +nvidia-cufft-cu12==11.3.0.4 +tensorboardX==2.6.4 +click==8.2.1 +sentry-sdk==2.32.0 +torch==2.7.1 +typing-inspection==0.4.1 +psutil==7.0.0 +nvidia-cudnn-cu12==9.5.1.17 +black==25.1.0 +jsonschema-specifications==2025.4.1 +nvidia-cuda-cupti-cu12==12.6.80 +networkx==3.4.2 +jsonschema==4.24.0 +nvidia-curand-cu12==10.3.7.77 +setproctitle==1.3.6 +protobuf==6.31.1 +nvidia-cufile-cu12==1.11.1.6 +antlr4-python3-runtime==4.9.3 +packaging==25.0 +pydantic_core==2.33.2 +tqdm==4.67.1 +PyYAML==6.0.2 +nvidia-cuda-nvrtc-cu12==12.6.77 +pytz==2025.2 +ray==2.47.1 +nvidia-nvjitlink-cu12==12.6.85 +charset-normalizer==3.4.2 +pydantic==2.11.7 +pillow==11.2.1 +mypy_extensions==1.1.0 +tomli==2.2.1 +annotated-types==0.7.0 +smmap==5.0.2 +mpmath==1.3.0 +setuptools==80.9.0 +isort==6.0.1 +idna==3.10 +fsspec==2025.5.1 +certifi==2025.6.15 +nvidia-nvtx-cu12==12.6.77 +attrs==25.3.0 +platformdirs==4.3.8 +python-dateutil==2.9.0.post0 +six==1.17.0 +nvidia-cusparse-cu12==12.5.4.2 +GitPython==3.1.44 +pyarrow==20.0.0 +referencing==0.36.2 +rpds-py==0.25.1 +triton==3.3.1 +sympy==1.14.0 +tzdata==2025.2 +wandb==0.20.1 +pathspec==0.12.1 +pandas==2.3.0 +torchinfo==1.8.0 +nvidia-cublas-cu12==12.6.4.1 +nvidia-cuda-runtime-cu12==12.6.77 +omegaconf==2.3.0 diff --git a/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-metadata.json new file mode 100644 index 0000000..ea1803f --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-metadata.json @@ -0,0 +1,27 @@ +{ + "os": "Linux-6.8.0-57-generic-x86_64-with-glibc2.35", + "python": "CPython 3.10.12", + "startedAt": "2025-06-28T09:02:36.021393Z", + "program": "/home/anarghya/Documents/MNIST_Classifier/train.py", + "codePath": "train.py", + "email": "anarghya1616@gmail.com", + "root": "/home/anarghya/Documents/MNIST_Classifier", + "host": "anarghya-ThinkPad-L390", + "executable": "/home/anarghya/Documents/MNIST_Classifier/.venv/bin/python", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "105351835648", + "used": "48331976704" + } + }, + "memory": { + "total": "8096940032" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-summary.json new file mode 100644 index 0000000..5e8ec0b --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/files/wandb-summary.json @@ -0,0 +1 @@ +{"train_accuracy":0.9896,"_timestamp":1.7511034633439224e+09,"_runtime":2107.323052487,"_step":15,"test_accuracy":0.9913,"_wandb":{"runtime":2107},"epoch":14,"train_loss":0.033200088781591815} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/run-7kyeyrrr.wandb b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/run-7kyeyrrr.wandb new file mode 100644 index 0000000..2934a40 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250628_143235-7kyeyrrr/run-7kyeyrrr.wandb differ diff --git a/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/config.yaml b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/config.yaml new file mode 100644 index 0000000..598dbc2 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/config.yaml @@ -0,0 +1,30 @@ +_wandb: + value: + cli_version: 0.20.1 + m: [] + python_version: 3.10.12 + t: + "1": + - 1 + - 41 + - 50 + "2": + - 1 + - 41 + - 50 + "3": + - 2 + - 16 + - 55 + "4": 3.10.12 + "5": 0.20.1 + "12": 0.20.1 + "13": linux-x86_64 +batch_size: + value: 32 +epochs: + value: 15 +lr: + value: 0.02055774776805891 +mixed_precision: + value: true diff --git a/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/requirements.txt b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/requirements.txt new file mode 100644 index 0000000..194a28e --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/requirements.txt @@ -0,0 +1,73 @@ +requests==2.32.4 +numpy==2.2.6 +torchvision==0.22.1 +nvidia-cusparselt-cu12==0.6.3 +typing_extensions==4.14.0 +hydra-core==1.3.2 +Jinja2==3.1.6 +filelock==3.18.0 +nvidia-nccl-cu12==2.26.2 +gitdb==4.0.12 +nvidia-cusolver-cu12==11.7.1.2 +MarkupSafe==3.0.2 +msgpack==1.1.1 +urllib3==2.5.0 +nvidia-cufft-cu12==11.3.0.4 +tensorboardX==2.6.4 +click==8.2.1 +sentry-sdk==2.32.0 +torch==2.7.1 +typing-inspection==0.4.1 +psutil==7.0.0 +nvidia-cudnn-cu12==9.5.1.17 +black==25.1.0 +jsonschema-specifications==2025.4.1 +nvidia-cuda-cupti-cu12==12.6.80 +networkx==3.4.2 +jsonschema==4.24.0 +nvidia-curand-cu12==10.3.7.77 +setproctitle==1.3.6 +protobuf==6.31.1 +nvidia-cufile-cu12==1.11.1.6 +antlr4-python3-runtime==4.9.3 +packaging==25.0 +pydantic_core==2.33.2 +tqdm==4.67.1 +PyYAML==6.0.2 +nvidia-cuda-nvrtc-cu12==12.6.77 +pytz==2025.2 +ray==2.47.1 +nvidia-nvjitlink-cu12==12.6.85 +charset-normalizer==3.4.2 +pydantic==2.11.7 +pillow==11.2.1 +mypy_extensions==1.1.0 +tomli==2.2.1 +annotated-types==0.7.0 +smmap==5.0.2 +mpmath==1.3.0 +setuptools==80.9.0 +isort==6.0.1 +idna==3.10 +fsspec==2025.5.1 +certifi==2025.6.15 +nvidia-nvtx-cu12==12.6.77 +attrs==25.3.0 +platformdirs==4.3.8 +python-dateutil==2.9.0.post0 +six==1.17.0 +nvidia-cusparse-cu12==12.5.4.2 +GitPython==3.1.44 +pyarrow==20.0.0 +referencing==0.36.2 +rpds-py==0.25.1 +triton==3.3.1 +sympy==1.14.0 +tzdata==2025.2 +wandb==0.20.1 +pathspec==0.12.1 +pandas==2.3.0 +torchinfo==1.8.0 +nvidia-cublas-cu12==12.6.4.1 +nvidia-cuda-runtime-cu12==12.6.77 +omegaconf==2.3.0 diff --git a/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-metadata.json b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-metadata.json new file mode 100644 index 0000000..ed8b674 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-metadata.json @@ -0,0 +1,27 @@ +{ + "os": "Linux-6.8.0-57-generic-x86_64-with-glibc2.35", + "python": "CPython 3.10.12", + "startedAt": "2025-06-28T17:21:08.722857Z", + "program": "/home/anarghya/Documents/MNIST_Classifier/train.py", + "codePath": "train.py", + "email": "anarghya1616@gmail.com", + "root": "/home/anarghya/Documents/MNIST_Classifier", + "host": "anarghya-ThinkPad-L390", + "executable": "/home/anarghya/Documents/MNIST_Classifier/.venv/bin/python", + "codePathLocal": "train.py", + "cpu_count": 4, + "cpu_count_logical": 8, + "disk": { + "/": { + "total": "105351835648", + "used": "49056153600" + } + }, + "memory": { + "total": "8096940032" + }, + "cpu": { + "count": 4, + "countLogical": 8 + } +} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-summary.json b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-summary.json new file mode 100644 index 0000000..dfeaae4 --- /dev/null +++ b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/files/wandb-summary.json @@ -0,0 +1 @@ +{"_step":14,"Epoch":14,"Train Loss":0.031791315591226645,"Train Accuracy":0.99,"Test Accuracy":0.9886,"_timestamp":1.7511335945634775e+09,"_runtime":2325.841192263,"_wandb":{"runtime":2335}} \ No newline at end of file diff --git a/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/run-fqkqf0x6.wandb b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/run-fqkqf0x6.wandb new file mode 100644 index 0000000..e575bf6 Binary files /dev/null and b/tasks/mnist_classifier/wandb/run-20250628_225108-fqkqf0x6/run-fqkqf0x6.wandb differ diff --git a/tasks/udp_messaging_client/.gitkeep b/tasks/udp_messaging_client/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tasks/udp_messaging_client/.gitkeep @@ -0,0 +1 @@ + diff --git a/tasks/udp_messaging_client/README.md b/tasks/udp_messaging_client/README.md new file mode 100644 index 0000000..0109ee3 --- /dev/null +++ b/tasks/udp_messaging_client/README.md @@ -0,0 +1,37 @@ +# UDP Messaging Client (Go) + +A simple UDP-based messaging client implemented in Go. It allows two users to exchange text messages over a local network using static ports. This project demonstrates basic socket programming, CLI handling, and concurrent message receiving using goroutines. + +--- + +## ๐Ÿš€ Features + +- Send and receive UDP messages over a local network. +- Static ports for predictable communication (no ephemeral ports). +- Command Line Interface (CLI) with configurable IP and port. +- Non-blocking message reception using goroutines. + +--- + +## ๐Ÿ“ฆ Requirements + +- Go 1.18 or later installed +- Two terminal instances or two machines on the same local network + +--- + +## ๐Ÿ› ๏ธ Installation + +1. Clone the repository: + ``` + git clone https://github.com/Phantom0133/udp-messaging-client.git + cd udp-messaging-client + +## ๐Ÿ’ป Usage Example +Terminal 1: +``` +go run main.go -ip 127.0.0.1 -target_port 3001 -local_port 3000 +``` +Terminal 2: +``` +go run main.go -ip 127.0.0.1 -target_port 3000 -local_port 3001 diff --git a/tasks/udp_messaging_client/go.mod b/tasks/udp_messaging_client/go.mod new file mode 100644 index 0000000..ea5ab7c --- /dev/null +++ b/tasks/udp_messaging_client/go.mod @@ -0,0 +1,3 @@ +module udpgo + +go 1.24.4 diff --git a/tasks/udp_messaging_client/main.go b/tasks/udp_messaging_client/main.go new file mode 100644 index 0000000..117ce24 --- /dev/null +++ b/tasks/udp_messaging_client/main.go @@ -0,0 +1,67 @@ +package main + +import ( + "bufio" + "flag" + "fmt" + "net" + "os" + "strings" +) + +func main() { + targetIP := flag.String("ip", "127.0.0.1", "Target IP Address") + targetPort := flag.Int("target_port", 3000, "Target Port") + localPort := flag.Int("local_port", 3001, "Local Port") + flag.Parse() + + localAddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf(":%d", *localPort)) + if err != nil { + fmt.Println("Failed to resolve local address:", err) + return + } + + conn, err := net.ListenUDP("udp", localAddr) + if err != nil { + fmt.Println("Failed to bind to UDP port:", err) + return + } + + defer conn.Close() + + go receiveMessage(conn) + + fmt.Printf("Sending messages to %s:%d\n", *targetIP, *targetPort) + targetAddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", *targetIP, *targetPort)) + if err != nil { + fmt.Println("Failed to resolve target address:", err) + return + } + + reader := bufio.NewReader(os.Stdin) + for { + text, _ := reader.ReadString('\n') + text = strings.TrimSpace(text) + + if text == "" { + continue + } + + _, err := conn.WriteToUDP([]byte(text), targetAddr) + if err != nil { + fmt.Println("Failed to send message:", err) + } + } +} + +func receiveMessage(conn *net.UDPConn) { + buffer := make([]byte, 1024) + for { + n, addr, err := conn.ReadFromUDP(buffer) + if err != nil { + fmt.Println("Error receiving message:", err) + continue + } + fmt.Printf("\nReceived from %s: %s\n", addr.String(), string(buffer[:n])) + } +}