DL4J中文文件/模型/動物園模型
可用模型
AlexNet
AlexNet
Dl4J的AlexNet模型解釋基於原始論文《基於深度卷積神經網路的ImageNet分類》和引用的imagenet示例程式碼。
參考文獻:
在DL4J中建立基於可用功能的模型,註釋指示哪裡是等待增強的間隙。
論文中某些層中偏置是1,但是在imagenet示例程式碼中的是0.1,論文中所有層使用標準差為0.1的權重分佈, 但是在imagenet示例程式碼中的密連層使用0.005。
Darknet19
有2個預先訓練的模型,一個為224x224影象和一個微調448×448影象。初始化之前呼叫{ 3, 224, 224 }或{ 3, 448, 448 }的setInputShape()。輸入影象的通道需要以RGB順序(而不是BGR),值在[0, 1 ]內歸一化。輸出標籤為:
FaceNetNN4Small2
InceptionResNetV1
LeNet
LeNet是ImageNet資料集上的早期有希望的成就者。參考文獻:
NASNet
U-Net
NASNet-A在DL4J中的實現。NASNet引用了神經架構搜尋網路, 通過直接在感興趣的資料集中學習模型架構而自動設計的一系列模型。
此實現使用1056個倒數第二濾波器和輸入形狀(3, 224, 224)。你可以改變這個。
ResNet50
深度學習殘差網路
SimpleCNN
SqueezeNet
U-Net
SqueezeNet的實現。與AlexNet小部分引數精度相似。
TextGenerationLSTM
設計用於文字生成的LSTM。可以在文字語料庫上進行訓練。對於這個模型,numClasses是
TinyYOLO
該模型的ImageNet+VOC權重是可用的,並且已經從https://pjreddie.com/darknet/yolo使用 https://github.com/allanzelener/YAD2K
String filename = “tiny-yolo-voc.h5”; ComputationGraph graph = KerasModelImport.importKerasModelAndWeights(filename, false);
INDArray priors = Nd4j.create(priorBoxes);
FineTuneConfiguration fineTuneConf = new FineTuneConfiguration.Builder() .seed(seed) .iterations(iterations) .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .gradientNormalization(GradientNormalization.RenormalizeL2PerLayer) .gradientNormalizationThreshold(1.0)
.updater(new Adam.Builder().learningRate(1e-3).build())
.l2(0.00001)
.activation(Activation.IDENTITY)
.trainingWorkspaceMode(workspaceMode)
.inferenceWorkspaceMode(workspaceMode)
.build();
ComputationGraph model = new TransferLearning.GraphBuilder(graph) .fineTuneConfiguration(fineTuneConf)
.addLayer(“outputs”, new Yolo2OutputLayer.Builder() .boundingBoxPriors(priors) .build(), “conv2d_9”)
.setOutputs(“outputs”)
.build();
System.out.println(model.summary(InputType.convolutional(416, 416, 3)));
ModelSerializer.writeModel(model, “tiny-yolo-voc_dl4j_inference.v1.zip”, false);
416X416輸入影象的通道需要以RGB順序(而不是BGR),值在[0, 1 ]內歸一化。
UNet
U-Net
U-NET是一種深度學習網路,在DL4J中用於影象分割。U-NET-卷積網路結構用於影象的快速精確分割。到目前為止,它在分割神經元結構的電子棧ISBI的挑戰中已經優於現有的最佳方法(滑動視窗卷積網路)。
VGG16
深度人臉識別
VGG19
Xception
U-Net
An implementation of Xception in Deeplearning4j. A novel deep convolutional neural network architecture inspired by Inception, where Inception modules have been replaced with depthwise separable convolutions.
Xception在DL4J中的實現。受Inception的啟發,一種新的深度卷積神經網路結構,其中Inception模組已經被深度可分離卷積所取代。
YOLO2
YOLOv2 參考文獻: https://arxiv.org/pdf/1612.08242.pdf
這個模型的ImageNet+COCO權重是可用的,並且已經從https://pjreddie.com/darknet/yolo使用https://github.com/allanzelener/YAD2K和如下程式碼進行了轉換。
String filename = “yolo.h5”;
KerasLayer.registerCustomLayer(“Lambda”, KerasSpaceToDepth.class);
ComputationGraph graph = KerasModelImport.importKerasModelAndWeights(filename, false); INDArray priors = Nd4j.create(priorBoxes);
FineTuneConfiguration fineTuneConf = new FineTuneConfiguration.Builder()
.seed(seed)
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .gradientNormalization(GradientNormalization.RenormalizeL2PerLayer) .gradientNormalizationThreshold(1.0)
.updater(new Adam.Builder().learningRate(1e-3).build())
.l2(0.00001)
.activation(Activation.IDENTITY)
.trainingWorkspaceMode(workspaceMode)
.inferenceWorkspaceMode(workspaceMode)
.build();
ComputationGraph model = new TransferLearning.GraphBuilder(graph) .fineTuneConfiguration(fineTuneConf)
.addLayer(“outputs”, new Yolo2OutputLayer.Builder() .boundingBoxPriors(priors) .build(), “conv2d_23”)
.setOutputs(“outputs”)
.build();
System.out.println(model.summary(InputType.convolutional(608, 608, 3)));
ModelSerializer.writeModel(model, “yolo2_dl4j_inference.v1.zip”, false);
608X608輸入影象的通道需要以RGB順序(而不是BGR),值在[0, 1 ]內歸一化。
pretrainedUrl
public String pretrainedUrl(PretrainedType pretrainedType)
模型的預設先驗框