Tôi đã cố tạo một mạng nơron sử dụng học tăng cường. Tôi đã chọn scikit-neuralnetwork làm thư viện (vì nó đơn giản). Dường như là, sự va chạm đó hai lần làm hỏng Theano.sknn - kích thước đầu vào không phù hợp với sự phù hợp thứ hai
Dưới đây là đoạn code đơn giản nhất gây ra vụ tai nạn (Lưu ý, nó không có vấn đề gì lớp có, cũng không tỷ lệ học hoặc n_iter):
import numpy as np
from sknn.mlp import Classifier, Layer
clf = Classifier(
layers=[
Layer("Softmax")
],
learning_rate=0.001,
n_iter=1)
clf.fit(np.array([[0.]]), np.array([[0.]])) # Initialize the network for learning
X = np.array([[-1.], [1.]])
Y = np.array([[1.], [0.]])
clf.fit(X, Y) # crash
Và đây là lỗi tôi nhận:
ValueError: Input dimension mis-match. (input[0].shape[1] = 2, input[1].shape[1] = 1)
Apply node that caused the error: Elemwise{Mul}[(0, 1)](y, LogSoftmax.0)
Toposort index: 12
Inputs types: [TensorType(float64, matrix), TensorType(float64, matrix)]
Inputs shapes: [(1L, 2L), (1L, 1L)]
Inputs strides: [(16L, 8L), (8L, 8L)]
Inputs values: [array([[ 1., 0.]]), array([[ 0.]])]
Outputs clients: [[Sum{axis=[1], acc_dtype=float64}(Elemwise{Mul}[(0, 1)].0)]]
Tested bằng Python 2.7.11
Liệu sknn không hỗ trợ phù hợp nhiều lần, hoặc tôi đang làm một số ngu ngốc sai lầm? Nếu không, bạn phải triển khai học tập tăng cường như thế nào?
sknn không có partial_fit (cố gắng tìm nó theo cách trước khi đặt câu hỏi này). Oth, tôi không thể lấy mạng thần kinh của sklearn để làm việc cả. – seequ
Bạn đang chạy phiên bản nào vì mã đó chạy tốt cho tôi? – ncfirth
Bạn có thể xem phương thức 'partial_fit' trong tài liệu sknn http://scikit-neuralnetwork.readthedocs.io/en/latest/module_mlp.html#classifier – ncfirth