با سلام
بعد از نصب caffe و آموزش مدل cifar10_quick که از مثال های موجود در caffe است accuracy = 0.7542 و loss = 0.735139 شد.
سپس یک لایه ی پایتون ساده بعد از لایه ی relu3 به شبکه ی مذکور اضافه کردم که هدف این لایه این است که خروجی را از لایه ی قبلی بگیرد و به عنوان ورودی به لایه ی بعد بدهد. بنابراین انتظار میرود که مقادیر accuracy و loss تغییری نکنند. اما بعد از اضافه کردن این لایه accuracy = 0.1 و loss = 2.30242 است! لطفا راهنمایی کنید.
کد زیر کلاس این لایه را نشان میدهد:
import caffe
import numpy as np
class My_Custom_Layer(caffe.Layer):
def setup(self, bottom, top):
if len(bottom) != 1:
raise Exception("Wrong number of bottom blobs")
def forward(self, bottom, top):
top[0].data[...] = bottom[0].data
def reshape(self, bottom, top):
top[0].reshape(*bottom[0].shape)
pass
def backward(self, propagate_down, bottom, top):
"""
This layer does not back propagate
"""
pass