{"id":574,"date":"2020-08-05T20:36:16","date_gmt":"2020-08-05T11:36:16","guid":{"rendered":"http:\/\/www.mukgee.com\/?p=574"},"modified":"2020-12-27T01:24:16","modified_gmt":"2020-12-26T16:24:16","slug":"m-llol-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-skill-%ed%8a%b8%eb%a6%ac-%ed%95%99%ec%8a%b54","status":"publish","type":"post","link":"http:\/\/mukgee.com\/?p=574","title":{"rendered":"[M\/L]LOL \ub370\uc774\ud130\ub97c \ud65c\uc6a9\ud55c Skill \ud2b8\ub9ac \ud559\uc2b5(4)"},"content":{"rendered":"<p>[M\/L]LOL \ub370\uc774\ud130\ub97c \ud65c\uc6a9\ud55c Skill \ud2b8\ub9ac \ud559\uc2b5(3) \uc5d0 \uc774\uc5b4 \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc804 \ud559\uc2b5\uc5d0\uc11c tensorflow\uc758 dataset api \ub97c \uc774\uc6a9\ud574 dataset\uc744 \uad6c\uc131\ud55c \ud6c4\uc5d0\ub294 \ub370\uc774\ud130\ub97c \uc218\uc815\ud558\ub294\uac83\uc774 \uad49\uc7a5\ud788 \ud798\ub4e0\uc77c\uc778\uac83\uc744 \uc54c\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\ubc88\uc5d4 pandas\uc640 numpy\ub85c \ub370\uc774\ud130 \uc804\ucc98\ub9ac \uc644\ub8cc \ud6c4\uc5d0 dataset\uc5d0 \ub123\uc5b4 shuffle\uacfc batch \ub4f1\uc758 api \uc640 \uc18d\ub3c4\uc801\uc778 \uce21\uba74\uc5d0\uc11c\uc758 \uc7a5\uc810\ub9cc \uac00\uc9c0\uace0 \uac00\ub3c4\ub85d \ub9cc\ub4e4\uc5b4 \ubcf4\uc558\uc2b5\ub2c8\ub2e4<\/p>\n<pre class=\"lang:python decode:true\">def load_data(inputs, num_steps=100, lookup_steps=1, shuffle=False,\n             test_size=0.2):\n    X_y_sequence = []    \n    sequence = deque(maxlen=window_size)    \n    sequence2 = deque(maxlen=window_size)        \n    for skill in inputs:\n        data = '0'+str(skill) + '9' #0 is start\/ 9 is end token\n        begin = 0\n        end = window_size\n        for inx in range(0, len(data)-window_size-1):\n            sequence.append(data[inx])            \n            sequence2.append(data[inx+1])\n            if len(sequence) == window_size:\n                X_y_sequence.append([np.array(sequence),np.array(sequence2)])\n    X_y_sequence = np.array(X_y_sequence)\n    X = np.stack(X_y_sequence[:,0]).astype(np.float64)\n    y = np.stack(X_y_sequence[:,1]).astype(np.float64)\n            \n    return train_test_split(X,y , test_size=test_size, shuffle = shuffle)<\/pre>\n<p>\uc774\ub807\uac8c \uad6c\uc131\ud558\uba74 QWEEWRW \uac00 \uc788\uc744\ub54c<\/p>\n<p>x \ub85c\ub294 QWEEWR \/ y\ub294 \ud55c\uce78 sliding \ub418\uc5b4 WEEWRW\uac00 \ub4e4\uc5b4 \uac00\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ubc29\ubc95\uc740 RNN \ubaa8\ub378\uc758 teacher forcing \uae30\ubc95\uc73c\ub85c tensorflow\uc758 LSTM \uacf5\uc2dd tutorial \uc5d0\uc11c\ub3c4 \uc18c\uac1c\ub41c \ubc29\ubc95\uc785\ub2c8\ub2e4<\/p>\n<pre class=\"lang:python decode:true \">dataset_train = tf.data.Dataset.from_tensor_slices((\n    X_train, y_train\n))\ndataset_train = dataset_train.shuffle(10000).batch(batch_size)\n\ndataset_test = tf.data.Dataset.from_tensor_slices((\n    X_test, y_test\n))\ndataset_test = dataset_test.shuffle(10000).batch(batch_size)<\/pre>\n<p>numpy\ub85c \uc804\ucc98\ub9ac\uac00 \uc644\ub8cc\ub41c \ub370\uc774\ud130\ub97c tensorflow\uc758 dataset api\ub85c tensorflow \uc0ac\uc6a9\uc744 \uc704\ud55c \ub370\uc774\ud130\ub85c \uc804\ud658\ud569\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-575 size-large\" src=\"http:\/\/www.mukgee.com\/wp-content\/uploads\/2020\/08\/35ED9127-EF51-46F9-B668-EB0714354EF2-1024x696.jpeg\" alt=\"\" width=\"843\" height=\"573\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>loss\uac00 \ub5a8\uc5b4\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<p>LSTM \ubaa8\ub378\uc5d0\uc11c window size\uc640 \ub370\uc774\ud130\uc758 \uad6c\uc131\uc740 \uc27d\uc9c0 \uc54a\uc740 \ubb38\uc81c\uc778\uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p>RNN \ubaa8\ub378\uc740 \uc5ec\uae30\uae4c\uc9c0\ub9cc \uc9c4\ud589\ud558\uace0 Attention\uc744 \uc774\uc6a9\ud55c transformer \ubaa8\ub378\ub85c \ud559\uc2b5 \uc2dc\ucf1c \ubcf4\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[M\/L]LOL \ub370\uc774\ud130\ub97c \ud65c\uc6a9\ud55c Skill \ud2b8\ub9ac \ud559\uc2b5(3) \uc5d0 \uc774\uc5b4 \uc9c4\ud589\ud569\ub2c8\ub2e4. \uc774\uc804 \ud559\uc2b5\uc5d0\uc11c tensorflow\uc758 dataset api \ub97c \uc774\uc6a9\ud574 dataset\uc744 \uad6c\uc131\ud55c \ud6c4\uc5d0\ub294 \ub370\uc774\ud130\ub97c \uc218\uc815\ud558\ub294\uac83\uc774 \uad49\uc7a5\ud788 \ud798\ub4e0\uc77c\uc778\uac83\uc744 \uc54c\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[3],"tags":[24],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/posts\/574"}],"collection":[{"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mukgee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=574"}],"version-history":[{"count":1,"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions"}],"predecessor-version":[{"id":595,"href":"http:\/\/mukgee.com\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions\/595"}],"wp:attachment":[{"href":"http:\/\/mukgee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mukgee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mukgee.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}