Fashion-MNIST danehevek ji wêneyên gotara Zalando ye, ku ji komek perwerdehiyê ya ji 60,000 mînakan û komek ceribandinê ya 10,000 mînakan pêk tê. Her mînak wêneyek 28×28 gewr e, ku bi etîketek ji 10 çînan ve girêdayî ye. Danûstendin ji bo pîvandina algorîtmayên fêrbûna makîneyê wekî veguheztinek rasterast a danûstendina MNIST-ê ya orîjînal kar dike, ji ber tevlihevî û guhêrbariya wê di wêneyên girêdayî modayê de alternatîfek dijwartir peyda dike.
Ji bo ku bi pratîkî danûstendina Fashion-MNIST-ê di Platforma AI-ya Google Cloud de bikar bînin, pêdivî ye ku meriv çend gavên birêkûpêk ên ku amadekirina daneyê, perwerdehiya modelê, bicihkirin û nirxandinê vedihewîne bişopîne. Her yek ji van qonaxên hem danehev û hem jî hawîrdora Google Cloud têgihîştinek berfireh hewce dike.
Gav 1: Sazkirina Jîngeha Google Cloud
Berî ku hûn daneyê bikar bînin, pê ewle bin ku we hesabek Google Cloud heye. Di Google Cloud Console de projeyek nû saz bikin. Ji bo projeya xwe fatûreya çalak bikin û API-ya Platforma Cloud AI-yê çalak bikin. Ev sazûman girîng e ji ber ku ew dihêle hûn binesaziya bihêz a Google-ê ji bo karên fêrbûna makîneyê bikar bînin.
1. Projeyek Google Cloud biafirînin: Biçe Google Cloud Console û projeyek nû biafirîne. Ji bo nasîna hêsan navek bêhempa ji projeya xwe re destnîşan bikin.
2. APIs çalak bikin: Herin dashboarda API & Karûbaran û API-ya Platforma Cloud AI-yê çalak bikin. Ev API ji bo bicîhkirina modelên fêrbûna makîneyê li ser Google Cloud pêdivî ye.
3. Cloud SDK saz bikin: Google Cloud SDK li ser makîneya xweya herêmî dakêşin û saz bikin. Ev SDK amûra xeta fermanê ya `gcloud` peyda dike, ku ji bo danûstandina bi çavkaniyên weya Google Cloud re hewce ye.
Gav 2: Amadekirina Daneyên Fashion-MNIST
Daneya Fashion-MNIST dikare ji çavkaniyên cihêreng, tevî depoya fermî ya GitHub, were gihîştin. Pêdivî ye ku meriv berê xwe bide databasê da ku pê ewle bibe ku ew ji bo modelên perwerdehiyê yên li ser Google Cloud di forma rast de ye.
1. Dataset dakêşin: Danûstendina di gelek formatan de heye, di nav de rêzikên CSV û NumPy. Ji bo bikarhênerên TensorFlow, ew dikare rasterast bi karanîna modula `tensorflow.keras.datasets` were barkirin.
python from tensorflow.keras.datasets import fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
2. Pêşîvekirina Daneyê: Nirxên pîxelê yên wêneyan bi dabeşkirina 0-an ve di rêza [1, 255] de normal bikin. Ev gav ji bo bicîhanîna ku model di dema perwerdehiyê de bi bandor li hev dicive girîng e.
python train_images = train_images/255.0 test_images = test_images/255.0
3. Danûstandin û Zêdekirina Daneyên: Li ser mîmariya modelê ve girêdayî, dibe ku hûn hewce ne ku daneyan ji nû ve şekil bikin. Wekî din, teknîkên zêdekirina daneyê yên wekî zivirandin, zoom, û guheztina horizontî binirxînin da ku hêza modelê zêde bikin.
Gav 3: Pêşveçûna Modelê
Modelek fêrbûna makîneyê ya ku ji bo daneya Fashion-MNIST-ê guncan e pêşve bibin. Torên Neuralî yên Hevbeş (CNN) ji ber bandoriya wan di karên dabeşkirina wêneyê de bijarek populer in.
1. Mîmariya Modelê diyar bikin: Ji bo diyarkirina modelek CNN TensorFlow an PyTorch bikar bînin. Mîmariyek tîpîk dibe ku gelek qatên konvolutional li dû wan qatên max-hevgirtinê, û tebeqeyek tîrêj a bi tevahî ve girêdayî be.
python model = tf.keras.Sequential([ tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Flatten(), tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.Dense(10, activation='softmax') ])
2. Modelê berhev bikin: Optimîzatorek guncan, fonksiyona windabûnê, û metrîkan hilbijêrin. Ji bo tesnîfkirina pir-polan, bi gelemperî `kategorî_kategorî_sparse` bi gelemperî tê bikar anîn.
python model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
3. Modelê perwerde bikin: Modelê li ser daneyên perwerdehiyê bicîh bikin. Daneyên erêkirinê bikar bînin da ku performansa modelê bişopînin û ji zêdebûnê dûr bixin.
python model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels))
Gav 4: Sazkirina Modelê li ser Platforma Google Cloud AI
Dema ku model were perwerde kirin, gava din ew e ku wê li ser Platforma Google Cloud AI-ê ji bo pêşbîniyên pîvanbar were bicîh kirin.
1. Modelê xilas bike: Modela perwerdekirî bi formatek ku bi Google Cloud re hevaheng e, wekî TensorFlow SavedModel derxînin.
python model.save('fashion_mnist_model')
2. Modelê li Google Cloud Storage barkirin: Amûra rêzika fermanê ya `gsutil` bikar bînin da ku modêlê li kepek Google Cloud Storage barkirin.
bash gsutil cp -r fashion_mnist_model gs://your-bucket-name/
3. Li ser Platforma AI-ê Modelek biafirînin: Di Google Cloud Console de, li Platforma AI-ê > Modelan bigerin û modelek nû biafirînin. Navê model û herêmê diyar bikin.
4. Versiyonek Modelê bicîh bikin: Bi diyarkirina riya Cloud Storage ya SavedModel guhertoyek nû ya modelê biafirîne. Vebijarkên cûrbecûr û pîvandinê li gorî hewcedariyên pêşbîniya xwe mîheng bikin.
5. Dabeşkirinê ceribandin: Karûbarê pêşbîniya Platforma AI-ê bikar bînin da ku modela belavkirî ceribandin. Hûn dikarin daxwazên HTTP bi daneyên wêneyê re bişînin xala dawiya modelê û pêşbîniyan bistînin.
python from google.cloud import aiplatform project = 'your-project-id' endpoint_id = 'your-endpoint-id' location = 'us-central1' aiplatform.init(project=project, location=location) endpoint = aiplatform.Endpoint(endpoint_id=endpoint_id) # Example prediction response = endpoint.predict(instances=[test_images[0].tolist()]) print(response)
Gav 5: Nirxandin û dubarekirina modelê
Piştî bicîhkirinê, girîng e ku meriv performansa modelê binirxîne û li ser sêwiranê dubare bike da ku rastbûn û karbidestiyê baştir bike.
1. Monitor Performansa Modelê: Amûrên çavdêriyê yên Google Cloud bikar bînin da ku metrîkên performansa modelê yên wekî derengmayîn, rêveçûn, û rastbûna pêşbîniyê bişopînin. Ev dane ji bo destnîşankirina kêşan û deverên ji bo çêtirkirinê bênirx e.
2. Testing A/B: Testkirina A/B bikin da ku guhertoyên modela cihêreng bidin ber hev. Ev nêzîkatî di têgihîştina bandora guhertinan û hilbijartina modela çêtirîn-karker de dibe alîkar.
3. Yekbûn û Dabeşkirina Berdewam (CI/CD): Pratîkên CI/CD-ê bicîh bikin da ku bicîhkirina guhertoyên modela nû otomatîk bikin. Vê sazkirinê piştrast dike ku çêtirkirin bi lez ji hilberînê re têne şandin.
4. Feedback Loop: Bi bikarhênerên dawîn re bendek bertekê saz bikin da ku li ser pêşbîniyên modelê têgihiştinan berhev bikin. Vê vegerê bikar bînin da ku modêlê baş rast bikin û pêwendiya wê bi serîlêdanên cîhana rastîn re zêde bikin.
5. Bi Daneyên Nû ji nû ve perwerdekirin: Bi rêkûpêk modelê bi daneyên nû nûve bikin da ku rastbûna xwe bi demê re biparêzin. Ev pratîk bi taybetî di pîşesaziya modayê de girîng e, ku meyl û şêwaz bi lez pêşve diçin.
Daneyên Fashion-MNIST ji bo bicîhkirina modelên dabeşkirina wêneyan li ser Platforma AI-ê ya Google Cloud dozek karanîna pratîkî peyda dike. Bi şopandina gavên diyarkirî, meriv dikare binesaziya Google-ê bi bandor bixebite da ku modelên fêrbûna makîneyê ya berbelav ava bike, bicîh bike û biparêze. Ev pêvajo ne tenê rastbûn û performansa modelê zêde dike lê di heman demê de serîlêdana wê ji senaryoyên cîhana rastîn ên di pîşesaziya modayê de jî misoger dike.
Google bi gelemperî Platforma AI-ya xwe nûve dike (ji sala 2024-an ve di Platforma Vertex AI-ê de pêşve çû). Ger hûn di van nûvekirinan de pirsgirêkek rû bidin, hûn dikarin koda jêrîn jî biceribînin:
python import google.auth import google.auth.transport.requests import requests import json from tensorflow.keras.datasets import fashion_mnist import numpy as np # Load and preprocess Fashion MNIST data (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() test_images = test_images/255.0 # Add channel dimension to all test images test_images = test_images.reshape(-1, 28, 28, 1) # Prepare your model and project details project_id = 'project_id' model_name = 'modelname' model_version = 'V1' region = 'europe-west3' # AI Platform prediction endpoint URL url = f'https://{region}-ml.googleapis.com/v1/projects/{project_id}/models/{model_name}/versions/{model_version}:predict' # Authenticate and get the auth token credentials, _ = google.auth.default() auth_req = google.auth.transport.requests.Request() credentials.refresh(auth_req) auth_token = credentials.token # Set up headers for the request headers = { 'Authorization': f'Bearer {auth_token}', 'Content-Type': 'application/json' } class_labels = [ "T-shirt/top", "Trouser", "Pullover", "Dress", "Coat", "Sandal", "Shirt", "Sneaker", "Bag", "Ankle boot" ] # Loop through the first 6 test images for i in range(6): # Prepare the instance for prediction instance = test_images[i].tolist() # Make the request body data = json.dumps({"instances": [instance]}) # Send the request response = requests.post(url, headers=headers, data=data) response_json = response.json() # Extract the predictions predicted_probs = response_json['predictions'][0] # Get the index of the highest probability predicted_index = np.argmax(predicted_probs) predicted_label = class_labels[predicted_index] predicted_probability = predicted_probs[predicted_index] # Print the result in a more readable format print(response_json) print(f"Image {i + 1}: Predicted class: {predicted_label} ({predicted_index}) with probability {predicted_probability:.10f}")
Pirs û bersivên din ên vê dawiyê di derbarê EITC/AI/GCML Fêrbûna Makîna Ewr a Google:
- Whawt zimanê bernamekirinê ye ji bo fêrbûna makîneyê ew tenê Python e
- Fêrbûna makîneyê çawa li cîhana zanistî tê sepandin?
- Hûn çawa biryar didin ka kîjan algorîtmaya fêrbûna makîneyê bikar bînin û hûn wê çawa bibînin?
- Cûdahiyên di navbera Fêrbûna Federal, Hesabkirina Edge û Fêrbûna Makîneya Ser-Device de çi ne?
- Meriv çawa berî perwerdehiyê daneyan amade dike û paqij dike?
- Di projeyek fêrbûna makîneyê de kar û çalakiyên destpêkê yên taybetî çi ne?
- Ji bo pejirandina stratejî û modelek fêrbûna makîneyê ya taybetî qaîdeyên guncan çi ne?
- Kîjan parametre destnîşan dikin ku ew dem e ku meriv ji modelek xêzikî berbi fêrbûna kûr ve bibe?
- Kîjan guhertoya Python dê ji bo sazkirina TensorFlow çêtirîn be da ku ji pirsgirêkên ku bi belavkirina TF-ê re tune nebin?
- Tora neuralî ya kûr çi ye?
Pirs û bersivan bêtir li EITC/AI/GCML Fêrbûna Makîneya Cloud Google-ê bibînin