@Afafks123132132165

Почему не работает нейросеть?

Почему не работает нейросеть и можно ли это вообще называть нейросетью.
Она должна на основе двух фотографий обучится накладывать какой то фильтр.Тоесть 1 фотография нормальная другая с фильтром.
from PIL import Image
import random

img = Image.open("Космос.jpg")
imgs = Image.open("Космосс.jpg")

obj = img.load()
objj = imgs.load()

trainingWeights = [[0,0,0],[0,0,0],[0,0,0]]
results = [[0,0,0],[0,0,0],[0,0,0]]
globalresults = [0,0,0]

x = 0
y = 0
width = 0
height = 0
color = 0
rightcolor = 0
width,height = img.size
kupia = 0
for i in range(20000):
  color = obj[x,y]
  rightcolor = objj[x,y]
  for j in range(len(trainingWeights)):
    for q in range(len(color)):
      results[j][q] = trainingWeights[j][q]*color[q]
  for ii in range(len(results)):
    for jj in range(len(results[ii])):
      results[ii][jj] = results[ii][jj]-rightcolor[jj]
  for qq in range(len(results)):
    for iii in range(len(results[qq])):
      results[qq][iii] = abs(results[qq][iii])
  for jjj in range(len(results)):
    for qqq in range(len(results[jjj])):
      globalresults[jjj] += results[jjj][qqq]
  for iiii in range(len(globalresults)):
    for jjjj in range(len(globalresults)-1):
      if globalresults[iiii] < globalresults[jjjj]:
        globalresults[iiii],globalresults[jjjj] = globalresults[jjjj],globalresults[iiii]
        trainingWeights[iiii],trainingWeights[jjjj] = trainingWeights[jjjj],trainingWeights[iiii]
  for qqqq in range(len(trainingWeights)):
    for iiiii in range(len(trainingWeights[qqqq])):
      kupia = random.randint(1,5)
      if kupia == 1:
        trainingWeights[qqqq][iiiii] = trainingWeights[0][iiiii]+1
      if kupia == 2:
        trainingWeights[qqqq][iiiii] = trainingWeights[0][iiiii]-1
  results = [[0,0,0],[0,0,0],[0,0,0]]
  globalresults = [0,0,0]
  x+=1
  if x == width:
    y+=1
    x = 0
  if y == height:
    y = 0
    x = 0

print(trainingWeights)

Этот код обучает нейросеть.
А этот применяет его.
from PIL import Image,ImageDraw

img = Image.open("Космос.jpg")
obj = img.load()
width,height = img.size
image = Image.new("RGB",(width,height))
draw = ImageDraw.Draw(image)
for i in range(width):
  for j in range(height):
    r,g,b = obj[i,j]
    draw.point((i,j),(r*0,g*1,b*1))
               
image.save("result.jpg", "JPEG")

Незнаю что я упустил но в теории все должно работать ну В ТЕОРИИ.Кстати значения нейросети нужно подставить вместо цифр там в коде.И пж не ругайтесь за циклы я знаю говеные так
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы