2016-01-18 21 views
5

miei set di dati è MNIST, e la biblioteca ML è MXNetCome creare un kernel omogeneo in Convolution Neural Networks con framework MXNet?

ho usato l'algoritmo CNN di praticare ML. Poi ho trovato il tutorial di riferimento, page 6 and 7.

smoothly kernel

Credo che il kernel di default è tutte le istanze '1' in una matrice (kernel in MXNet). Come rendere il kernel uniformemente come sopra la diapositiva.


Questo è il codice MXNet con R.

mx.symbol.Convolution(data=data, kernel=c(5,5), num_filter=20) 
+1

Si prega di considerare i dati e tutto il codice pertinente nella domanda per interrompere i legami con risorse esterne al sito che potrebbero andare offline senza preavviso. –

+0

Cosa stai cercando di realizzare? Se stai cercando di fare il filtro delle immagini usando 'MXNet', potresti usare lo strumento sbagliato. C'è un modo per specificare l'inizializzazione dell'array, ma cambierai i pesi se vuoi fare qualsiasi apprendimento con backprop. Se vuoi solo convogliare un kernel su un'immagine, guarda i pacchetti 'spatialfil' o' imager'. – ultradian

risposta

1

Come detto da altri, MXNet è un framework per profondo-learning. Le diapositive a cui si fa riferimento sono attività di elaborazione delle immagini con altri strumenti ottimizzati, OpenCV è uno dei più popolari. Tuttavia, è possibile eseguire una semplice convoluzione anche con MXNet. In python, sarebbe simile a questo:

# Replace img with an actual image 
img = np.random.uniform(size=(1, 1, 480, 640)) 
img = mx.nd.array(img) 
w = mx.nd.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]]) 
w.reshape((1, 1, 3, 3)) 
out = mx.nd.Convolution(
    img, w, kernel=(3, 3), num_filter=1, no_bias=True, pad=(1, 1))