Привет всем, я новичок в машинном обучении и пытался сделать свою первую нейронную сеть - PullRequest
0 голосов
/ 10 февраля 2020

Тест с рукописными цифрами

import imageio
import glob
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.image as mpimg
import numpy as np
from keras.models import load_model
from matplotlib import pyplot as plt
import datetime as t
from skimage.color import rgb2gray
    import cv2
     import os
      import glob
   img_dir = "C:\\Users\\fitsu\\Desktop\\14 treangle"
     data_path = os.path.join(img_dir,'*g')
   files = glob.glob(data_path)
   images = []
 for f1 in files:
     img = cv2.imread(f1)
     images.append(img)
     gray = rgb2gray(img)
     gray = gray.reshape(1, img_rows, img_cols, 1)
     gray /= 255
     gray = np.dot(images[...,:3], [0.299, 0.587, 0.114])
     plt.imshow(gray, cmap = plt.get_cmap('gray'))
     plt.show()
     from keras.models import load_model
     model = load_model("first_test")
     # predict digit
      prediction = model.predict(gray)
     print(prediction.argmax())

Ошибка типа: '' '' Файл "", строка 25, серым цветом = np.dot (images [...,: 3], [0.299 , 0.587, 0.114])

TypeError: индексы списка должны быть целыми или кусочками, а не кортежем

Ответы [ 2 ]

3 голосов
/ 10 февраля 2020

TypeError: индексы списка должны быть целыми числами или слайсами, а не кортежем

Python список не поддерживает ..., :3 слайсинг. Это numpy особенность массива. Сначала преобразуйте список image в np.array:

...
images.append(img)
images = np.array(images)
...
0 голосов
/ 12 февраля 2020
import imageio
import glob
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.image as mpimg
import numpy as np
from keras.models import load_model
from matplotlib import pyplot as plt
import datetime as t
from skimage.color import rgb2gray
import cv2
import os
import glob
img_dir = ('.') # Enter Directory of all images 
data_path = os.path.join(img_dir,'*g')
files = glob.glob(data_path)
def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
images = []
for f1 in files:
  img = cv2.imread(f1)
  images.append(img)
  images2 = np.expand_dims(img,axis=0)
  images2 = np.expand_dims(images2,axis=3)
  #images2 = np.array(img)
  gray = rgb2gray(images2)
  gray = gray.reshape(1,img_rows, img_cols,1)
  gray /= 255
  gray = np.dot(images2[...,:3], [0.299, 0.587, 0.114])
  plt.imshow(img, cmap = plt.get_cmap('gray'))
  plt.show()
  model = load_model("first_test")
  # predict digit
  prediction = model.predict(gray)
  print(prediction.argmax())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...