<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://samediff.kr/wiki/index.php?action=history&amp;feed=atom&amp;title=Mxnet%2FBasics</id>
	<title>Mxnet/Basics - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://samediff.kr/wiki/index.php?action=history&amp;feed=atom&amp;title=Mxnet%2FBasics"/>
	<link rel="alternate" type="text/html" href="http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;action=history"/>
	<updated>2026-04-28T17:52:55Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12695&amp;oldid=prev</id>
		<title>2017년 7월 14일 (금) 09:20에 Admin님의 편집</title>
		<link rel="alternate" type="text/html" href="http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12695&amp;oldid=prev"/>
		<updated>2017-07-14T09:20:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2017년 7월 14일 (금) 09:20 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[http://mxnet.io/tutorials/basic/ndarray.html 원문]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;걍 numpy를 쓰지 않는 이유는 cpu, gpu등 자유로이 알아서(?) 처리해주고, 병렬까지도 알아서(?) 한다고 함. [http://mxnet.io/tutorials/basic/ndarray.html] &amp;lt;del&amp;gt;tf도 해주지 않냐?&amp;lt;/del&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;걍 numpy를 쓰지 않는 이유는 cpu, gpu등 자유로이 알아서(?) 처리해주고, 병렬까지도 알아서(?) 한다고 함. [http://mxnet.io/tutorials/basic/ndarray.html] &amp;lt;del&amp;gt;tf도 해주지 않냐?&amp;lt;/del&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12525&amp;oldid=prev</id>
		<title>Admin: /* Intermediate-level Interface */</title>
		<link rel="alternate" type="text/html" href="http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12525&amp;oldid=prev"/>
		<updated>2017-07-04T09:32:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Intermediate-level Interface&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2017년 7월 4일 (화) 09:32 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot; &gt;61번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;61번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|Accuracy, TopKAccuracy, F1, Perplexity, MAE, MSE, RMSE, CrossEntropy, Loss, Torch, Caffe&amp;lt;ref&amp;gt;{{c|Loss, Torch, Caffe}}는 Dummy metrics&amp;lt;/ref&amp;gt;, CustomMetric, np&amp;lt;ref&amp;gt;numpy array를 입력으로 받는 custom metric&amp;lt;/ref&amp;gt;}}가 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|Accuracy, TopKAccuracy, F1, Perplexity, MAE, MSE, RMSE, CrossEntropy, Loss, Torch, Caffe&amp;lt;ref&amp;gt;{{c|Loss, Torch, Caffe}}는 Dummy metrics&amp;lt;/ref&amp;gt;, CustomMetric, np&amp;lt;ref&amp;gt;numpy array를 입력으로 받는 custom metric&amp;lt;/ref&amp;gt;}}가 있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|acc}}등으로 줄여쓸 수 있는것 같은데 그것도 문서화 안된것 같다. {{c|acc}}(accuracy), {{c|top_k_acc}}(top-k-accuracy), {{c|ce}}(CrossEntropy) 가능함.[http://mxnet.io/tutorials/basic/module.html#predict-and-evaluate]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|acc}}등으로 줄여쓸 수 있는것 같은데 그것도 문서화 안된것 같다. {{c|acc}}(accuracy), {{c|top_k_acc}}(top-k-accuracy), {{c|ce}}(CrossEntropy) 가능함.[http://mxnet.io/tutorials/basic/module.html#predict-and-evaluate]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (1)의 {{c|forward}}에서 {{c|is_train}}은, undocumented인것 같다. 걍 train할때는 무조건 {{c|True}}주기로. 기본값은 {{c|None}}. [http://mxnet.io/api/python/module.html?highlight=module.for#mxnet.module.BaseModule.forward 참고1] [https://github.com/dmlc/mxnet/issues/1822 참고2]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;[https://github.com/dmlc/mxnet/issues/3871#issuecomment-261297178 여기] 보면, batch normalization할 때 현재 train상태인지 보는것 같음. 이런식으로 여기저기(?)서 쓰는듯.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (1)의 {{c|forward}}에서 {{c|is_train}}은, undocumented인것 같다. 걍 train할때는 무조건 {{c|True}}주기로. 기본값은 {{c|None}}. [http://mxnet.io/api/python/module.html?highlight=module.for#mxnet.module.BaseModule.forward 참고1] [https://github.com/dmlc/mxnet/issues/1822 참고2]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;[https://github.com/dmlc/mxnet/issues/3871#issuecomment-261297178 여기] 보면, batch normalization할 때 현재 train상태인지 보는것 같음. 이런식으로 여기저기(?)서 쓰는듯.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====High-level Interface====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====High-level Interface====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12524&amp;oldid=prev</id>
		<title>Admin: /* Intermediate-level Interface */</title>
		<link rel="alternate" type="text/html" href="http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12524&amp;oldid=prev"/>
		<updated>2017-07-04T09:32:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Intermediate-level Interface&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2017년 7월 4일 (화) 09:32 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot; &gt;61번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;61번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|Accuracy, TopKAccuracy, F1, Perplexity, MAE, MSE, RMSE, CrossEntropy, Loss, Torch, Caffe&amp;lt;ref&amp;gt;{{c|Loss, Torch, Caffe}}는 Dummy metrics&amp;lt;/ref&amp;gt;, CustomMetric, np&amp;lt;ref&amp;gt;numpy array를 입력으로 받는 custom metric&amp;lt;/ref&amp;gt;}}가 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|Accuracy, TopKAccuracy, F1, Perplexity, MAE, MSE, RMSE, CrossEntropy, Loss, Torch, Caffe&amp;lt;ref&amp;gt;{{c|Loss, Torch, Caffe}}는 Dummy metrics&amp;lt;/ref&amp;gt;, CustomMetric, np&amp;lt;ref&amp;gt;numpy array를 입력으로 받는 custom metric&amp;lt;/ref&amp;gt;}}가 있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|acc}}등으로 줄여쓸 수 있는것 같은데 그것도 문서화 안된것 같다. {{c|acc}}(accuracy), {{c|top_k_acc}}(top-k-accuracy), {{c|ce}}(CrossEntropy) 가능함.[http://mxnet.io/tutorials/basic/module.html#predict-and-evaluate]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** {{c|acc}}등으로 줄여쓸 수 있는것 같은데 그것도 문서화 안된것 같다. {{c|acc}}(accuracy), {{c|top_k_acc}}(top-k-accuracy), {{c|ce}}(CrossEntropy) 가능함.[http://mxnet.io/tutorials/basic/module.html#predict-and-evaluate]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (1)의 {{c|forward}}에서 {{c|is_train}}은, undocumented인것 같다. 걍 train할때는 무조건 {{c|True}}주기로. 기본값은 {{c|None}}. [http://mxnet.io/api/python/module.html?highlight=module.for#mxnet.module.BaseModule.forward] [https://github.com/dmlc/mxnet/issues/1822]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (1)의 {{c|forward}}에서 {{c|is_train}}은, undocumented인것 같다. 걍 train할때는 무조건 {{c|True}}주기로. 기본값은 {{c|None}}. [http://mxnet.io/api/python/module.html?highlight=module.for#mxnet.module.BaseModule.forward &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;참고1&lt;/ins&gt;] [https://github.com/dmlc/mxnet/issues/1822 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;참고2&lt;/ins&gt;]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, [https://github.com/dmlc/mxnet/issues/3871#issuecomment-261297178 여기] 보면, batch normalization할 때 현재 train상태인지 보는것 같음. 이런식으로 여기저기(?)서 쓰는듯.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====High-level Interface====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====High-level Interface====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12523&amp;oldid=prev</id>
		<title>Admin: 새 문서:  걍 numpy를 쓰지 않는 이유는 cpu, gpu등 자유로이 알아서(?) 처리해주고, 병렬까지도 알아서(?) 한다고 함. [http://mxnet.io/tutorials/basic/ndarray.html]...</title>
		<link rel="alternate" type="text/html" href="http://samediff.kr/wiki/index.php?title=Mxnet/Basics&amp;diff=12523&amp;oldid=prev"/>
		<updated>2017-07-04T09:30:01Z</updated>

		<summary type="html">&lt;p&gt;새 문서:  걍 numpy를 쓰지 않는 이유는 cpu, gpu등 자유로이 알아서(?) 처리해주고, 병렬까지도 알아서(?) 한다고 함. [http://mxnet.io/tutorials/basic/ndarray.html]...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
걍 numpy를 쓰지 않는 이유는 cpu, gpu등 자유로이 알아서(?) 처리해주고, 병렬까지도 알아서(?) 한다고 함. [http://mxnet.io/tutorials/basic/ndarray.html] &amp;lt;del&amp;gt;tf도 해주지 않냐?&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{c|broadcast}}[http://mxnet.io/tutorials/basic/ndarray.html#broadcast]: {{c|rep}}같은건가봄.&lt;br /&gt;
&lt;br /&gt;
{{c|pickle.dump}}말고 {{c|mx.nd.load, mx.nd.save}}를 쓸 수 있다. [http://mxnet.io/tutorials/basic/ndarray.html#serialize-from-to-distributed-filesystems]&lt;br /&gt;
&lt;br /&gt;
symbolic api를 설명[http://mxnet.io/tutorials/basic/symbol.html]하면서 중간에 장점이 하나 나오는데 이런게 있었네 싶었음. ㅎㅎ : 미리 그래프를 짜 놓으면 나중에 어떤 결과값이 필요할지 미리 알 수 있어서 계산중간값들을 모두 저장해둘 필요가 없다. 메모리가 절약됨.&amp;lt;br&amp;gt;&lt;br /&gt;
관련해서, symbolic programming을 declarative programming이라고도 하고 이 반대를 imperative programming이라고 하는 모양. &amp;lt;del&amp;gt;imperative programming은 단어만 보면 이게 도대체 뭔소린가 싶었다.&amp;lt;/del&amp;gt; Declarative programming의 예: regular expression, SQL.&lt;br /&gt;
&lt;br /&gt;
매뉴얼 따라하다가 {{c|graphviz}}때문에 에러남&lt;br /&gt;
 ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH&lt;br /&gt;
맥이라 걍 포기. {{c|brew}}하면 된다는데 걍 안하고 원격 리눅스에서나. 시스템에도 있어야 하고, pip로도 있어야 한다.(우분투에서 {{c|apt ~}} 랑 {{c|pip install ~}} 다 해줘야 한다는 얘기)&lt;br /&gt;
&lt;br /&gt;
bind → forward해서 output을 얻지 않고, 바로 eval할 수도 있다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;{{c|tojson()}}&amp;lt;/u&amp;gt;&lt;br /&gt;
 print(c.tojson())&lt;br /&gt;
 c.save('symbol-c.json')&lt;br /&gt;
 c2 = mx.sym.load('symbol-c.json')&lt;br /&gt;
&lt;br /&gt;
type cast&lt;br /&gt;
 a = mx.sym.Variable('data')&lt;br /&gt;
 b = mx.sym.cast(data=a, dtype='float16’)&lt;br /&gt;
&lt;br /&gt;
===Module===&lt;br /&gt;
====Creation====&lt;br /&gt;
&amp;lt;pre&amp;gt;mod = mx.mod.Module(symbol=net,&lt;br /&gt;
                    context=mx.cpu(),&lt;br /&gt;
                    data_names=['data'],&lt;br /&gt;
                    label_names=['softmax_label' ])&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Intermediate-level Interface====&lt;br /&gt;
먼저 대강&lt;br /&gt;
 mx.test_utils.download&lt;br /&gt;
 np.genfromtxt&lt;br /&gt;
 ... # data와 label분리.&lt;br /&gt;
 mx.io.NDArrayIter # batch 분리&lt;br /&gt;
 ... # net만들고 &lt;br /&gt;
 mod = mx.mod.Module(symbol=net, context=mx.cpu(), ...) &lt;br /&gt;
한 다음,&lt;br /&gt;
&amp;lt;pre&amp;gt;# memory alloc&lt;br /&gt;
mod.bind(data_shapes=train_iter.provide_data, label_shapes=train_iter.provide_label)&lt;br /&gt;
&lt;br /&gt;
mod.init_params(initializer=mx.init.Uniform(scale=.1))&lt;br /&gt;
mod.init_optimizer(optimizer='sgd', optimizer_params=(('learning_rate', 0.1), ))&lt;br /&gt;
metric = mx.metric.create('acc')&lt;br /&gt;
&lt;br /&gt;
for epoch in range(5):&lt;br /&gt;
    train_iter.reset()&lt;br /&gt;
    metric.reset()&lt;br /&gt;
    for batch in train_iter:&lt;br /&gt;
        mod.forward(batch, is_train=True)       # (1)&lt;br /&gt;
        mod.update_metric(metric, batch.label)  # (2)&lt;br /&gt;
        mod.backward()                          # (3)              &lt;br /&gt;
        mod.update()                            &lt;br /&gt;
    print('Epoch %d, Training %s' % (epoch, metric.get()))&amp;lt;/pre&amp;gt;&lt;br /&gt;
* (2)의 {{c|batch.label}}이 어디서 나오나 했는데 다음 section([http://mxnet.io/tutorials/basic/data.html iterators])에 보면 나온다. &lt;br /&gt;
** [http://mxnet.io/api/python/io.html#mxnet.io.DataBatch API문서]도 있음.&lt;br /&gt;
* (2)에서 {{c|mod}}에 metric을 알려주므로, (3)에서 {{c|backward}}만 불러도, gradient계산한다.&lt;br /&gt;
* metric.create에서 여러가지 할 수 있는데, [http://mxnet.io/api/python/metric.html mxnet.metric api]에서 볼 수 있다. &lt;br /&gt;
** {{c|Accuracy, TopKAccuracy, F1, Perplexity, MAE, MSE, RMSE, CrossEntropy, Loss, Torch, Caffe&amp;lt;ref&amp;gt;{{c|Loss, Torch, Caffe}}는 Dummy metrics&amp;lt;/ref&amp;gt;, CustomMetric, np&amp;lt;ref&amp;gt;numpy array를 입력으로 받는 custom metric&amp;lt;/ref&amp;gt;}}가 있다.&lt;br /&gt;
** {{c|acc}}등으로 줄여쓸 수 있는것 같은데 그것도 문서화 안된것 같다. {{c|acc}}(accuracy), {{c|top_k_acc}}(top-k-accuracy), {{c|ce}}(CrossEntropy) 가능함.[http://mxnet.io/tutorials/basic/module.html#predict-and-evaluate]&lt;br /&gt;
* (1)의 {{c|forward}}에서 {{c|is_train}}은, undocumented인것 같다. 걍 train할때는 무조건 {{c|True}}주기로. 기본값은 {{c|None}}. [http://mxnet.io/api/python/module.html?highlight=module.for#mxnet.module.BaseModule.forward] [https://github.com/dmlc/mxnet/issues/1822]&lt;br /&gt;
&lt;br /&gt;
====High-level Interface====&lt;br /&gt;
&amp;lt;pre&amp;gt;train_iter.reset()&lt;br /&gt;
mod = mx.mod.Module(symbol=net, context=mx.cpu(), data_names=['data'], label_names=['softmax_label'])&lt;br /&gt;
mod.fit(train_iter,&lt;br /&gt;
        eval_data=val_iter,&lt;br /&gt;
        optimizer='sgd',&lt;br /&gt;
        optimizer_params={'learning_rate':0.1},&lt;br /&gt;
        eval_metric='acc',&lt;br /&gt;
        num_epoch=8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;y = mod.predict(val_iter)&amp;lt;/pre&amp;gt;&lt;br /&gt;
predict결과 없이 그냥 evaluation만 하려면,&lt;br /&gt;
 score = mod.score(val_iter, ['mse', ‘acc'])&lt;br /&gt;
====Save and Load====&lt;br /&gt;
체크포인트 설정&lt;br /&gt;
 model_prefix = 'mx_mlp'&lt;br /&gt;
 checkpoint = mx.callback.do_checkpoint(model_prefix)&lt;br /&gt;
 mod = mx.mod.Module(symbol=net)&lt;br /&gt;
 mod.fit(train_iter, num_epoch=5, epoch_end_callback=checkpoint)&lt;br /&gt;
불러오기&lt;br /&gt;
 sym, arg_params, aux_params = mx.model.load_checkpoint(model_prefix, 3) # 3:epoch&lt;br /&gt;
불러와서 다시 설정 &lt;br /&gt;
 mod.set_params(arg_params, aux_params)&lt;br /&gt;
Simply resume training.&lt;br /&gt;
&amp;lt;pre&amp;gt;mod = mx.mod.Module(symbol=sym)&lt;br /&gt;
mod.fit(train_iter,&lt;br /&gt;
        num_epoch=8,&lt;br /&gt;
        arg_params=arg_params,&lt;br /&gt;
        aux_params=aux_params,&lt;br /&gt;
        begin_epoch=3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Iterators - Loading data===&lt;br /&gt;
* Data iterator는 [http://mxnet.io/api/python/io.html#mxnet.io.DataBatch {{c|DataBatch}}]를 반환한다.&lt;br /&gt;
* csv파일로부터 읽기: [http://mxnet.io/api/python/io.html#mxnet.io.CSVIter {{c|CSVIter}}]&lt;br /&gt;
* custom iterator도 지원한다.&lt;br /&gt;
* {{c|mx.image}}쓰려면 OpenCV있어야 한다.(CV2 아니다)&lt;br /&gt;
* {{c|ImageRecordIter}}나 {{c|ImageIter}}를 사용해서 이미지파일 데이터를 학습데이터로 쓸 수 있다. 이때 {{c|RecoredIO}}파일 미리 있어야 한다.&lt;br /&gt;
* 학습할때 뿐 아니라 score계산할때도 iterator쓴다.&lt;br /&gt;
&amp;lt;pre&amp;gt;eval_iter = mx.io.NDArrayIter(eval_data, eval_label, batch_size, shuffle=False)&lt;br /&gt;
model.score(eval_iter, metric)&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>