मैं कुछ साल पहले एक एआई कोडिंग कैंप में गया था, और हमने मशीन लर्निंग के बारे में जानने के लिए अजगर में काम किया। मेरे पास उनमें से .py फाइलों का एक गुच्छा है लेकिन उन्हें चलाने के लिए नहीं मिल सकता है। मैंने कोड को PyCharm में डाल दिया और चलाने की कोशिश की, लेकिन उसने कहा कि मेरे पास पुस्तकालय गायब हैं। कोड:

from skimage import transform
import random
import tensorflow as tf
import matplotlib.pyplot as plt
from skimage import data
import os
import numpy as np
from skimage.color import rgb2gray
def load_data(data_directory):
    directories = [d for d in os.listdir(data_directory)
                   if os.path.isdir(os.path.join(data_directory, d))]
    labels = []
    images = []
    for d in directories:
        label_directory = os.path.join(data_directory, d)
        file_names = [os.path.join(label_directory, f)
                      for f in os.listdir(label_directory)
                      if f.endswith(".ppm")]
        for f in file_names:
            images.append(data.imread(f))
            labels.append(int(d))
    return images, labels

ROOT_PATH = "/home/student/Downloads"
train_data_directory = os.path.join(ROOT_PATH, "Training")
test_data_directory = os.path.join(ROOT_PATH, "Testing")

images, labels = load_data(train_data_directory)

traffic_signs = [300, 2250, 3650, 4000]


plt.show()

import matplotlib.pyplot as plt

# Get the unique labels
unique_labels = set(labels)

# Initialize the figure
plt.figure(figsize=(15, 15))

# Set a counter
i = 1
# Rescale the images in the `images` array
images28 = [transform.resize(image, (28, 28)) for image in images]

# Convert `images28` to an array
images28 = np.array(images28)

   # Convert `images28` to grayscale

    images28 = rgb2gray(images28)
    # For each unique label,
    for label in unique_labels:
        # You pick the first image for each label
        image = images[labels.index(label)]
        # Define 64 subplots
    plt.subplot(8, 8, i)
    # Don't include axes
    plt.axis('off')
    # Add a title to each subplot
    plt.title("Label {0} ({1})".format(label, labels.count(label)))
    # Add 1 to the counter
    i += 1
    # And you plot this first image
    plt.imshow(image)





for i in range(len(traffic_signs)):
    plt.subplot(1, 4, i+1)
    plt.axis('off')
    plt.imshow(images28[traffic_signs[i]], cmap="gray")
    plt.subplots_adjust(wspace=0.5)
    print("shape: {0}, min: {1}, max: {2}".format(images28[traffic_signs[i]].shape,
                                                  images28[traffic_signs[i]].min(),
                                                  images28[traffic_signs[i]].max()))
    # Show the plot


# Import `tensorflow`
import tensorflow as tf

# Initialize placeholders
x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
y = tf.placeholder(dtype = tf.int32, shape = [None])

# Flatten the input data
images_flat = tf.contrib.layers.flatten(x)

# Fully connected layer
logits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)

# Define a loss function
loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y,
                                                                logits = logits))
# Define an optimizer
train_op = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)

# Convert logits to label indexes
correct_pred = tf.argmax(logits, 1)

# Define an accuracy metric
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
tf.set_random_seed(1234)
sess = tf.Session()

sess.run(tf.global_variables_initializer())

for i in range(201):
    print('EPOCH', i)
    _, accuracy_val = sess.run([train_op, accuracy], feed_dict={x: images28, y: labels})
    if i % 10 == 0:
        print("Loss: ", loss)
    print('DONE WITH EPOCH')
sample_indexes = random.sample(range(len(images28)), 10)
sample_images = [images28[i] for i in sample_indexes]
sample_labels = [labels[i] for i in sample_indexes]

# Run the "correct_pred" operation
predicted = sess.run([correct_pred], feed_dict={x: sample_images})[0]

# Print the real and predicted labels
print(sample_labels)
print(predicted)
fig = plt.figure(figsize=(10, 10))
for i in range(len(sample_images)):
truth = sample_labels[i]
prediction = predicted[i]
plt.subplot(5, 2,1+i)
plt.axis('off')
color='green' if truth == prediction else 'red'
plt.text(40, 10, "Truth:        {0}\nPrediction: {1}".format(truth, prediction),
         fontsize=12, color=color)
plt.imshow(sample_images[i],  cmap="gray")
plt.show()
test_images, test_labels = load_data(test_data_directory)

# Transform the images to 28 by 28 pixels
test_images28 = [transform.resize(image, (28, 28)) for image in test_images]

# Convert to grayscale
from skimage.color import rgb2gray
test_images28 = rgb2gray(np.array(test_images28))

# Run predictions against the full test set.
predicted = sess.run([correct_pred], feed_dict={x: test_images28})[0]

# Calculate correct matches
match_count = sum([int(y == y_) for y, y_ in zip(test_labels, predicted)])

# Calculate the accuracy
accuracy = match_count / len(test_labels)

# Print the accuracy
print("Accuracy: {:.3f}".format(accuracy))

इसलिए मुझे पता है कि कुछ अन्य चीजें (जैसे फाइलों की निर्देशिका) अलग हैं क्योंकि मैंने शिविर के लिए उनके कंप्यूटर का इस्तेमाल किया था। मैं उसे ठीक कर सकता। हालांकि, मैं यह नहीं समझ सकता कि "गायब मॉड्यूल" समस्याओं को कैसे ठीक किया जाए। त्रुटि कोड-

 Traceback (most recent call last):
      File "C:/Users/Eric/PycharmProjects/Cartpole1/Try1.py", line 2, in <module>
        from skimage import transform
    ModuleNotFoundError: No module named 'skimage'

साथ ही कई अन्य इसे पसंद करते हैं। क्या मुझे कुछ डाउनलोड करने की ज़रूरत है, या कोड बिल्कुल सही नहीं है? मुझे याद है कि कोड काम कर रहा था जब मैंने इसे उस यूएसबी ड्राइव पर डाउनलोड किया था जिसका मैं उपयोग कर रहा हूं।

-1
Eric Welp 24 जुलाई 2020, 00:29

1 उत्तर

सबसे बढ़िया उत्तर

आपको सही पीएम (पैकेज मैनेजर) का आयात करना होगा, इसलिए आपके पास आपके सभी आयात स्टेटमेंट्स आपको यह सुनिश्चित करने की ज़रूरत है कि आपके पास उन पुस्तकालयों को आपके सिस्टम पर स्थापित किया गया है या उन्हें यहां एक लिंक दिया गया है जो आपको यह दिखाने के लिए कि मूल रूप से हर जगह शीर्ष पर कैसे करें। एक आयात विवरण है सुनिश्चित करें कि आपके पास वह पुस्तकालय स्थापित है

https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-upgrading-packages.html

0
swift gaming 24 जुलाई 2020, 00:31