Я пытаюсь использовать оптимизатор ND4j Adam с целью, которая была реализована на основе автоматического дифференцирования ND4J SameDiff.Я не хочу использовать NeuralNetConfiguration.Builder()
или ComputationGraph
из DeepLearning4j, я хочу использовать только средства обновления / оптимизаторы с некоторыми градиентами, которые вычисляются с помощью некоторого пользовательского кода.
Я обнаружил, что мы можем использовать что-то похожее на приведенное ниже:
// list of parameters to be optimized
SDVariable[] params; // I have this already initialized.
// list of gradients computed for each parameter in params
INDArray gradients; // I have computed already computed this
// now I want to use above variables to perform a single gradient descent step based on Adam optimizer
// based on the source code, we can use something similar to below
Adam adam = Adam.builder().build();
GradientUpdater updater = adam.instantiate(INDArray viewArray, boolean initializeViewArray);
updater.applyUpdater(INDArray gradient, int iteration, int epoch);
Но я не уверен, какие значения мы должны установить для каждого параметра.В частности, каковы параметры viewArray
и initializeViewArray
?
Я ценю, если кто-то может помочь мне понять, как лучше всего это сделать.Спасибо !!!