{"id":64504,"date":"2024-03-22T08:56:17","date_gmt":"2024-03-21T23:56:17","guid":{"rendered":"https:\/\/smilegate.ai\/?p=64504"},"modified":"2024-03-22T09:00:56","modified_gmt":"2024-03-22T00:00:56","slug":"java-deeplearning4j-library%eb%a1%9c-%eb%94%a5%eb%9f%ac%eb%8b%9d-%ed%95%b4%eb%b3%b4%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/smilegate.ai\/cn\/2024\/03\/22\/java-deeplearning4j-library%eb%a1%9c-%eb%94%a5%eb%9f%ac%eb%8b%9d-%ed%95%b4%eb%b3%b4%ea%b8%b0\/","title":{"rendered":"JAVA Deeplearning4j library\ub85c \ub525\ub7ec\ub2dd \ud574\ubcf4\uae30"},"content":{"rendered":"
[\ubd84\uc11dAI\uc11c\ube44\uc2a4\ud300 \uc804\uc18c\ud76c] AI \uae30\uc220\uc774 \ub098\ub0a0\uc774 \uc9c4\ud654\ud568\uc5d0 \ub530\ub77c \uc5d4\ud130\ud14c\uc778\uba3c\ud2b8, \ubbf8\ub514\uc5b4, \uc804\uc790\uc0c1\uac70\ub798, \uc758\ub8cc, \uad50\uc721, \uc81c\uc870 \ub4f1 \ub2e4\uc591\ud55c \uc0b0\uc5c5\uad70\uc5d0 \uacc4\uc18d\ud574\uc11c AI \ud65c\uc6a9\ub3c4\uac00 \uc99d\uac00\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n
\uc6f9\uc11c\ube44\uc2a4 \uac1c\ubc1c\uc790\ub85c\uc368 \uadf8\ub3d9\uc548 java\ub97c \ubc31\uc5d4\ub4dc \uc5b8\uc5b4\ub85c \uc0ac\uc6a9\ud574\uc654\ub294\ub370, \ud604\uc7ac \uac00\uc7a5 \ud56b\uc774\uc288\uc778 AI\ubaa8\ub378\uc744 java\ub85c \uc5b4\ub5bb\uac8c \ub525\ub7ec\ub2dd\ud560 \uc218 \uc788\uc744\uae4c? java\ub85c\ub3c4 \uac00\ub2a5\ud558\ub2e4\uba74 \uc65c \ubaa8\ub378 \uac1c\ubc1c\uc5d0 python\uc774 \ub354 \uc720\ub9ac\ud560\uae4c? \b\ub2e4\uc591\ud55c \uc9c8\ubb38\uc5d0 \ub300\ud574 \ub9ac\uc11c\uce58\ud574\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n
<\/p>\n\n\n\n
\uccab\ubc88\uc9f8. java \uc624\ud508\uc18c\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc774\uc6a9\ud55c \ub525\ub7ec\ub2dd\b \uac1c\ubc1c \ubc29\ubc95<\/strong><\/p>\n\n\n\n java\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uba87 \uac00\uc9c0 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ud504\ub808\uc784\uc6cc\ud06c\ub85c \ub525\ub7ec\ub2dd \ubaa8\ub378\uc744 \ub9cc\ub4e4\uace0 \ud6c8\ub828\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uadf8 \uc911 \uc8fc\ubaa9\ud560\ub9cc\ud55c java \uae30\ubc18 \ub525\ub7ec\ub2dd \ud504\ub808\uc784\uc6cc\ud06c\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uc774\ub7ec\ud55c \ub3c4\uad6c\ub4e4\uc740 java \uac1c\ubc1c\uc790\uac00 \ub525\ub7ec\ub2dd \ubaa8\ub378\uc744 \uad6c\ud604\ud558\uace0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc90d\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud604\uc7ac\ub85c\uc11c\ub294 python\uc774 \uc5ec\uc804\ud788 \ub525\ub7ec\ub2dd \ubc0f \uae30\uacc4 \ud559\uc2b5 \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c \ub354 \ub110\ub9ac \uc0ac\uc6a9\ub418\uace0 \uc788\uc73c\uba70, java\ub85c\uc11c\uc758 \uc804\ud658\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub9cc \uc774\ub7ec\ud55c java \uae30\ubc18 \ub3c4\uad6c\ub4e4\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n <\/p>\n\n\n\n \uc790\ubc14\ub85c \ub525\ub7ec\ub2dd\uc744 \uad6c\ud604\ud558\ub294 \uac04\ub2e8\ud55c \uc608\uc81c\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 Deeplearning4j \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac04\ub2e8\ud55c \ub2e4\uce35 \ud37c\uc149\ud2b8\ub860(MLP) \uc2e0\uacbd\ub9dd\uc744 \uad6c\ud604\ud558\uace0, MNIST \uc22b\uc790 \uc774\ubbf8\uc9c0 \ub370\uc774\ud130\uc14b\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc22b\uc790 \ubd84\ub958\uae30\ub97c \ud6c8\ub828\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n Deeplearning4j dependency\ub97c \ucd94\uac00 \ud55c \ud6c4 \ub2e4\uc74c\uacfc \uac19\uc740 \ucf54\ub4dc\ub85c \uac04\ub2e8\ud55c \uc22b\uc790 \ubd84\ub958\uae30\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uac19\uc740 \ucf54\ub4dc\ub97c python\uc73c\ub85c \uc9dc\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uc774\ub807\uac8c java\uc640 python\uc744 \uc774\uc6a9\ud558\uc5ec \uac01\uac01 \uc22b\uc790 \ubd84\ub958\uae30\ub97c \ub9cc\ub4e4\uc5b4\ubd24\ub294\ub370, \ucf54\ub4dc \uc591\ub3c4 \ube44\uc2b7\ud558\uace0, \uad6c\ud604\uc774 \uac00\ub2a5\ud55c\ub370 \uc65c \ub525\ub7ec\ub2dd\uc744 python\uc73c\ub85c \uac1c\ubc1c\ud558\ub294 \uac83\uc774 \uc720\ub9ac\ud560\uae4c? \ub77c\ub294 \uc758\ubb38\uc774 \uc0dd\uae41\ub2c8\ub2e4.<\/p>\n\n\n\n <\/p>\n\n\n\n <\/p>\n\n\n\n \ub450\ubc88\uc9f8. \uc65c python\uc778\uac00?<\/strong><\/p>\n\n\n\n \ub525\ub7ec\ub2dd\uc744 python\uc73c\ub85c \uac1c\ubc1c\ud558\ub294 \uac83\uc774 \ub354 \uc120\ud638\ub418\ub294 \uc774\uc720\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n <\/p>\n\n\n\n \uc138\ubc88\uc9f8. \uadf8\ub807\ub2e4\uba74 java\uc5d0\ub3c4 \ub525\ub7ec\ub2dd \uad00\ub828 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uc788\ub294\ub370, \uc5b4\ub5a4 \uacbd\uc6b0 java\ub97c \uc774\uc6a9\ud55c \ub525\ub7ec\ub2dd \uac1c\ubc1c\uc744 \ud558\ub294\uac8c \uc88b\uc744\uae4c?<\/strong><\/p>\n\n\n\n <\/p>\n\n\n\n \uc774\ub7ec\ud55c \uacbd\uc6b0\ub4e4\uc744 \uace0\ub824\ud560 \ub54c, java\ub85c\uc758 \uc804\ud658\uc740 \uc885\uc885 \ud504\ub85c\uc81d\ud2b8\uc758 \uc694\uad6c\uc0ac\ud56d\uacfc \ud300\uc758 \uae30\uc220\uc801\uc778 \ub2a5\ub825\uc5d0 \ub530\ub77c \uacb0\uc815\ub418\ub294 \uac83\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n python\uc5d0 \ube44\ud574 \uc624\ud508\uc18c\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ub2e4\uc591\ud55c \ud65c\uc6a9 \ub3c4\uad6c\ub4e4\uc774 \ub9ce\uc774 \ubd80\uc871\ud558\uc9c0\ub9cc, \uc774\ubbf8 java\ub85c\ub3c4 \ud65c\uc6a9 \uc608\uc81c\uac00 \ub9ce\uc774 \ub098\uc640\uc788\uace0, \ucc45\ub3c4 \ub9ce\uc774 \ucd9c\ud310\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. [\ubd84\uc11dAI\uc11c\ube44\uc2a4\ud300 \uc804\uc18c\ud76c] AI \uae30\uc220\uc774 \ub098\ub0a0\uc774 \uc9c4\ud654\ud568\uc5d0 \ub530\ub77c \uc5d4\ud130\ud14c\uc778\uba3c\ud2b8, \ubbf8\ub514\uc5b4, \uc804\uc790\uc0c1\uac70\ub798, \uc758\ub8cc, \uad50\uc721, \uc81c\uc870 \ub4f1 \ub2e4\uc591\ud55c \uc0b0\uc5c5\uad70\uc5d0 \uacc4\uc18d\ud574\uc11c AI \ud65c\uc6a9\ub3c4\uac00 \uc99d\uac00\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc6f9\uc11c\ube44\uc2a4 \uac1c\ubc1c\uc790\ub85c\uc368 \uadf8\ub3d9\uc548 java\ub97c \ubc31\uc5d4\ub4dc \uc5b8\uc5b4\ub85c \uc0ac\uc6a9\ud574\uc654\ub294\ub370, \ud604\uc7ac \uac00\uc7a5 \ud56b\uc774\uc288\uc778 AI\ubaa8\ub378\uc744 java\ub85c \uc5b4\ub5bb\uac8c \ub525\ub7ec\ub2dd\ud560 \uc218 \uc788\uc744\uae4c? java\ub85c\ub3c4 \uac00\ub2a5\ud558\ub2e4\uba74 \uc65c \ubaa8\ub378 \uac1c\ubc1c\uc5d0 python\uc774 \ub354 \uc720\ub9ac\ud560\uae4c? \b\ub2e4\uc591\ud55c \uc9c8\ubb38\uc5d0 \ub300\ud574 \ub9ac\uc11c\uce58\ud574\ubcf4\uc558\uc2b5\ub2c8\ub2e4. \uccab\ubc88\uc9f8. java \uc624\ud508\uc18c\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc774\uc6a9\ud55c \ub525\ub7ec\ub2dd\b…<\/p>\n\n
public class SimpleMnistClassifier {\n public static void main(String[] args) throws Exception {\n \/\/ MNIST \ub370\uc774\ud130\uc14b\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n DataSetIterator mnistTrain = new MnistDataSetIterator(64, true, 12345);\n DataSetIterator mnistTest = new MnistDataSetIterator(64, false, 12345);\n\n \/\/ \uc2e0\uacbd\ub9dd \uad6c\uc131 \uc124\uc815\n MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()\n .seed(12345)\n .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)\n .list()\n .layer(new DenseLayer.Builder()\n .nIn(28 * 28) \/\/ \uc785\ub825 \ud06c\uae30\n .nOut(100) \/\/ \uccab \ubc88\uc9f8 \uc740\ub2c9\uce35\uc758 \ub274\ub7f0 \uc218\n .activation(Activation.RELU)\n .build())\n .layer(new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)\n .nIn(100) \/\/ \uccab \ubc88\uc9f8 \uc740\ub2c9\uce35\uc758 \ucd9c\ub825 \ud06c\uae30\n .nOut(10) \/\/ \ucd9c\ub825\uce35\uc758 \ub274\ub7f0 \uc218 (10\uac1c\uc758 \ud074\ub798\uc2a4)\n .activation(Activation.SOFTMAX)\n .build())\n .build();\n\n \/\/ \ub2e4\uce35 \ud37c\uc149\ud2b8\ub860(MLP) \uc0dd\uc131\n MultiLayerNetwork model = new MultiLayerNetwork(conf);\n model.init();\n model.setListeners(new ScoreIterationListener(10));\n\n \/\/ \ubaa8\ub378 \ud6c8\ub828\n for (int i = 0; i < 5; i++) { \/\/ 5 \uc5d0\ud3ec\ud06c \ub3d9\uc548 \ud6c8\ub828\n model.fit(mnistTrain);\n System.out.println(\"Epoch \" + i + \" complete\");\n }\n\n \/\/ \ubaa8\ub378 \ud3c9\uac00\n Evaluation eval = model.evaluate(mnistTest);\n System.out.println(eval.stats());\n }\n}<\/code><\/pre>\n\n\n\n
import tensorflow as tf\nfrom tensorflow.keras import layers, models, datasets\n\n# MNIST \ub370\uc774\ud130\uc14b \ub85c\ub4dc\n(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()\ntrain_images, test_images = train_images \/ 255.0, test_images \/ 255.0\n\n# \ubaa8\ub378 \uad6c\uc131\nmodel = models.Sequential([\n layers.Flatten(input_shape=(28, 28)),\n layers.Dense(100, activation='relu'),\n layers.Dense(10, activation='softmax')\n])\n\n# \ubaa8\ub378 \ucef4\ud30c\uc77c\nmodel.compile(optimizer='sgd',\n loss='sparse_categorical_crossentropy',\n metrics=['accuracy'])\n\n# \ubaa8\ub378 \ud6c8\ub828\nmodel.fit(train_images, train_labels, epochs=5)\n\n# \ubaa8\ub378 \ud3c9\uac00\ntest_loss, test_acc = model.evaluate(test_images, test_labels)\nprint('Test accuracy:', test_acc)<\/code><\/pre>\n\n\n\n
\n
\n
\uc790\ubc14\ub97c \ud65c\uc6a9\ud55c \ub525\ub7ec\ub2dd) https:\/\/www.yes24.com\/Product\/Goods\/63713122<\/p>\n