forked from s444420/AL-2020
recognizing but training must be improved
This commit is contained in:
parent
ddb652119b
commit
4b8c560be9
@ -19,11 +19,14 @@
|
||||
<select />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="828778c9-9d97-422f-a727-18ddbd059b85" name="Default Changelist" comment="train.py">
|
||||
<change afterPath="$PROJECT_DIR$/coder/gr_test.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/coder/image.py" afterDir="false" />
|
||||
<list default="true" id="828778c9-9d97-422f-a727-18ddbd059b85" name="Default Changelist" comment="fun created">
|
||||
<change afterPath="$PROJECT_DIR$/coder/rocognizer.py" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/coder/test1.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/coder/test3.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/coder/test9.png" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/coder/test.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/coder/test.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/coder/image.py" beforeDir="false" afterPath="$PROJECT_DIR$/coder/image.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/coder/train.py" beforeDir="false" afterPath="$PROJECT_DIR$/coder/train_nn.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -81,7 +84,7 @@
|
||||
<recent name="C:\Users\Pawel Lukaszewicz\PycharmProjects\AL-2020\coder" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.train">
|
||||
<component name="RunManager" selected="Python.load_image">
|
||||
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
||||
<module name="wozek" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
@ -158,7 +161,7 @@
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/coder/image.py" />
|
||||
<option name="SCRIPT_NAME" value="C:\Users\Pawel Lukaszewicz\PycharmProjects\AL-2020\coder\image.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="true" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
@ -189,7 +192,7 @@
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="train" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||
<configuration name="train_nn" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||
<module name="wozek" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@ -199,7 +202,7 @@
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="C:\Users\Pawel Lukaszewicz\PycharmProjects\AL-2020\coder\train.py" />
|
||||
<option name="SCRIPT_NAME" value="C:\Users\Pawel Lukaszewicz\PycharmProjects\AL-2020\coder\train_nn.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="true" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
@ -212,13 +215,13 @@
|
||||
<item itemvalue="Python.board" />
|
||||
<item itemvalue="Python.main" />
|
||||
<item itemvalue="Python.feature_hashing" />
|
||||
<item itemvalue="Python.train" />
|
||||
<item itemvalue="Python.image" />
|
||||
<item itemvalue="Python.train_nn" />
|
||||
<item itemvalue="Python.load_image" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Python.train" />
|
||||
<item itemvalue="Python.image" />
|
||||
<item itemvalue="Python.load_image" />
|
||||
<item itemvalue="Python.train_nn" />
|
||||
<item itemvalue="Python.main" />
|
||||
<item itemvalue="Python.feature_hashing" />
|
||||
<item itemvalue="Python.board" />
|
||||
@ -247,7 +250,7 @@
|
||||
<workItem from="1589814601057" duration="4208000" />
|
||||
<workItem from="1589844260514" duration="777000" />
|
||||
<workItem from="1589845066174" duration="177000" />
|
||||
<workItem from="1589888090669" duration="16639000" />
|
||||
<workItem from="1589888090669" duration="19744000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="create Shelf">
|
||||
<created>1589815443652</created>
|
||||
@ -277,7 +280,21 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1589918562733</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="5" />
|
||||
<task id="LOCAL-00005" summary="img to 1d array">
|
||||
<created>1589952733192</created>
|
||||
<option name="number" value="00005" />
|
||||
<option name="presentableId" value="LOCAL-00005" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1589952733192</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00006" summary="fun created">
|
||||
<created>1589952979012</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1589952979012</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="7" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
@ -301,7 +318,9 @@
|
||||
<MESSAGE value="create addShelf method in Field class" />
|
||||
<MESSAGE value="changed CreateDataSweets to lowercase" />
|
||||
<MESSAGE value="train.py" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="train.py" />
|
||||
<MESSAGE value="img to 1d array" />
|
||||
<MESSAGE value="fun created" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="fun created" />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="115" y="162" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1589923610328">
|
||||
|
@ -1,31 +1,63 @@
|
||||
import numpy as np
|
||||
from PIL import Image
|
||||
import matplotlib.pyplot as plt
|
||||
from sklearn import datasets
|
||||
from sklearn.metrics import accuracy_score
|
||||
from sklearn.neural_network import MLPClassifier
|
||||
import cv2
|
||||
|
||||
|
||||
def image():
|
||||
img = cv2.cvtColor(cv2.imread('test.jpg'), cv2.COLOR_BGR2GRAY)
|
||||
img = cv2.GaussianBlur(img, (15, 15), 0) # poprawia jakosc
|
||||
img = cv2.resize(img, (8, 8), interpolation=cv2.INTER_AREA)
|
||||
# training
|
||||
# recznie napisane cyfry
|
||||
digits = datasets.load_digits()
|
||||
|
||||
print(type(img))
|
||||
print(img.shape)
|
||||
print(img)
|
||||
plt.imshow(img, cmap='binary')
|
||||
plt.show()
|
||||
y = digits.target
|
||||
x = digits.images.reshape((len(digits.images), -1))
|
||||
|
||||
data = []
|
||||
x_train = x[:1000000]
|
||||
y_train = y[:1000000]
|
||||
x_test = x[1000:]
|
||||
y_test = y[1000:]
|
||||
|
||||
rows, cols = img.shape
|
||||
for i in range(rows):
|
||||
mlp = MLPClassifier(hidden_layer_sizes=(15,), activation='logistic', alpha=1e-4,
|
||||
solver='sgd', tol=1e-4, random_state=1,
|
||||
learning_rate_init=.1, verbose=True)
|
||||
|
||||
mlp.fit(x_train, y_train)
|
||||
|
||||
predictions = mlp.predict(x_test)
|
||||
print(accuracy_score(y_test, predictions))
|
||||
|
||||
|
||||
# image
|
||||
|
||||
img = cv2.cvtColor(cv2.imread('test3.png'), cv2.COLOR_BGR2GRAY)
|
||||
img = cv2.GaussianBlur(img, (5, 5), 0) # poprawia jakosc
|
||||
img = cv2.resize(img, (8, 8), interpolation=cv2.INTER_AREA)
|
||||
|
||||
print(type(img))
|
||||
print(img.shape)
|
||||
print(img)
|
||||
plt.imshow(img ,cmap='binary')
|
||||
plt.show()
|
||||
|
||||
data = []
|
||||
|
||||
rows, cols = img.shape
|
||||
for i in range(rows):
|
||||
for j in range(cols):
|
||||
k = img[i, j]
|
||||
if k > 200:
|
||||
if k > 100:
|
||||
k = 0 # brak czarnego
|
||||
else:
|
||||
k = 1
|
||||
|
||||
data.append(k)
|
||||
|
||||
print(data)
|
||||
data = np.asarray(data, dtype=np.float32)
|
||||
print(data)
|
||||
|
||||
predictions = mlp.predict([data])
|
||||
|
||||
print("Liczba to:", predictions[0])
|
||||
|
||||
|
13
coder/rocognizer.py
Normal file
13
coder/rocognizer.py
Normal file
@ -0,0 +1,13 @@
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
from numpy import asarray
|
||||
from sklearn import datasets
|
||||
from sklearn.neural_network import MLPClassifier
|
||||
from sklearn.metrics import accuracy_score
|
||||
from PIL import Image
|
||||
import pygame
|
||||
import functions
|
||||
import sys
|
||||
import time
|
||||
|
||||
|
BIN
coder/test1.jpg
Normal file
BIN
coder/test1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
coder/test3.png
Normal file
BIN
coder/test3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
BIN
coder/test9.png
Normal file
BIN
coder/test9.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.7 KiB |
@ -1,29 +0,0 @@
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
from numpy import asarray
|
||||
from sklearn import datasets
|
||||
from sklearn.neural_network import MLPClassifier
|
||||
from sklearn.metrics import accuracy_score
|
||||
from PIL import Image
|
||||
|
||||
|
||||
def train():
|
||||
# recznie napisane cyfry
|
||||
digits = datasets.load_digits()
|
||||
|
||||
y = digits.target
|
||||
x = digits.images.reshape((len(digits.images), -1))
|
||||
|
||||
x_train = x[:1000000]
|
||||
y_train = y[:1000000]
|
||||
x_test = x[1000:]
|
||||
y_test = y[1000:]
|
||||
|
||||
mlp = MLPClassifier(hidden_layer_sizes=(15,), activation='logistic', alpha=1e-4,
|
||||
solver='sgd', tol=1e-4, random_state=1,
|
||||
learning_rate_init=.1, verbose=True)
|
||||
|
||||
mlp.fit(x_train, y_train)
|
||||
|
||||
predictions = mlp.predict(x_test)
|
||||
print(accuracy_score(y_test, predictions))
|
30
coder/train_nn.py
Normal file
30
coder/train_nn.py
Normal file
@ -0,0 +1,30 @@
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
from numpy import asarray
|
||||
import pygame
|
||||
from sklearn import datasets
|
||||
from sklearn.neural_network import MLPClassifier
|
||||
from sklearn.metrics import accuracy_score
|
||||
from PIL import Image
|
||||
|
||||
|
||||
# recznie napisane cyfry
|
||||
digits = datasets.load_digits()
|
||||
|
||||
y = digits.target
|
||||
x = digits.images.reshape((len(digits.images), -1))
|
||||
|
||||
x_train = x[:1000000]
|
||||
y_train = y[:1000000]
|
||||
x_test = x[1000:]
|
||||
y_test = y[1000:]
|
||||
|
||||
mlp = MLPClassifier(hidden_layer_sizes=(15,), activation='logistic', alpha=1e-4,
|
||||
solver='sgd', tol=1e-4, random_state=1,
|
||||
learning_rate_init=.1, verbose=True)
|
||||
|
||||
mlp.fit(x_train, y_train)
|
||||
|
||||
predictions = mlp.predict(x_test)
|
||||
print(accuracy_score(y_test, predictions))
|
||||
print(x_test[1])
|
Loading…
Reference in New Issue
Block a user