<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>pear_min.log</title>
        <link>https://velog.io/</link>
        <description>Beyond the new era.</description>
        <lastBuildDate>Wed, 03 Aug 2022 06:41:11 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>pear_min.log</title>
            <url>https://images.velog.io/images/pear_min/profile/cf2f25b4-2350-42f1-825a-79fa1cd2ce67/social.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. pear_min.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/pear_min" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Black CLI]]></title>
            <link>https://velog.io/@pear_min/Black-CLI</link>
            <guid>https://velog.io/@pear_min/Black-CLI</guid>
            <pubDate>Wed, 03 Aug 2022 06:41:11 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p><strong>목적/경위</strong>
파이썬 커뮤니티에서 널리 사용되고 있는 Black 코드 포멧터에 대한 설명입니다.</p>
</blockquote>
<h1 id="0-개요">0. 개요</h1>
<ul>
<li>파이썬 커뮤니티에서 가장 널리 쓰이고 있는 코드 포맷터입니다.</li>
<li>하나의 코드 스타일을 기준으로 모든 개발자가 일관성 있는 코드를 작성하는 것이 장점입니다.</li>
</ul>
<h2 id="구동-코드">구동 코드</h2>
<pre><code class="language-python">## Install
$ pip install black # Python code
$ pip install black[jupyter] # Jupyter notebook code

## Check for formator(optional)
$ black --check (filename).py
&#39;&#39;&#39;
would reformat filename.py
Oh no! 💥 💔 💥
1 file would be reformatted.
&#39;&#39;&#39;
## Case 1: Config Python
black (filename).py
&#39;&#39;&#39;
reformatted filename.py
All done! ✨ 🍰 ✨
1 file reformatted.
&#39;&#39;&#39;
## Case 2: Config Jupyter
black (filename).ipynb</code></pre>
<h2 id="포멧팅-미적용-구분-적용-방법">포멧팅 미적용 구분 적용 방법</h2>
<p><code>fmt: off</code> <code>fmt: on</code> 을 통해 원하는 구분에는 포멧팅이 적용되지 않게 할 수 있습니다.</p>
<pre><code class="language-python">def main():
    if args.saved_checkpoint == &#39;torchscript&#39;:
        model = torch.jit.load(pretrained_pth)
## 아래 구문이 오히려 포맷을 적용하지 않았을 때 가독성이 좋을 경우,
# fmt: off
    elif args.saved_checkpoint == &#39;ckpt&#39;:
        model = UNETR(
            in_channels=args.in_channels,
            out_channels=args.out_channels,
            img_size=(args.roi_x, args.roi_y, args.roi_z),
            feature_size=args.feature_size,
            hidden_size=args.hidden_size,
            mlp_dim=args.mlp_dim,
            num_heads=args.num_heads,
            pos_embed=args.pos_embed,
            norm_name=args.norm_name,
            conv_block=True,
            res_block=True,
            dropout_rate=args.dropout_rate)
# fmt: on
        model_dict = torch.load(pretrained_pth)</code></pre>
<h2 id="추가적인-옵션">추가적인 옵션</h2>
<p><code>-l</code> : 한 라인의 최대 글자 수(default: 88)</p>
<p><code>-diff</code> : 파일을변경하지 않고 변경되는 부분을 콘솔로 표현</p>
<p><code>-color</code> : <code>-diff</code> 를 사용했을 떄 변경점에 색을 입혀 가시성 추가</p>
<p>ex)</p>
<pre><code class="language-python">$ black (filename).py -l 80 --diff --color</code></pre>
<h1 id="1-vscode에서-black-적용하는-법">1. VScode에서 black 적용하는 법</h1>
<hr>
<h2 id="1-prettier-설치">1) Prettier 설치</h2>
<ul>
<li>마켓 플레이스에서 prettier를 설치합니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/pear_min/post/889c0c86-71ee-4309-b91e-f417e64335ec/image.png" alt=""></p>
<h2 id="2-formatter-설정">2) Formatter 설정</h2>
<h3 id="default-formatter">Default Formatter</h3>
<p><img src="https://velog.velcdn.com/images/pear_min/post/d68eb541-c943-41bc-908f-3585abceaf4a/image.png" alt=""></p>
<ul>
<li><code>ctrl+,</code>를 눌러서 설정으로 들어갑니다.</li>
<li>검색창에 formatter를 치면 default formatter를 설정할 수 있습니다.</li>
<li>Prettier를 선택해주세요.</li>
</ul>
<h3 id="auto-save">Auto save</h3>
<p><img src="https://velog.velcdn.com/images/pear_min/post/ae6e005e-7a8f-43df-a6af-4ec671068a6f/image.png" alt=""></p>
<ul>
<li>저장을 할 때 자동으로 formatter를 적용할 수 있도록 Auto Save를 설정해줍니다.</li>
</ul>
<h3 id="python-설정">Python 설정</h3>
<p><img src="https://velog.velcdn.com/images/pear_min/post/9ea24148-4688-42ea-984a-1e2e3e05262e/image.png" alt=""></p>
<ul>
<li><p><code>ctrl + shift + p</code> 를 눌러서 setting을 검색합니다.</p>
</li>
<li><p>기본 설정: 설정 열기 (Open Settings)를 클릭합니다.</p>
</li>
<li><p>아래 코드를 추가합니다.</p>
<pre><code class="language-json">  &quot;[python]&quot;: {
      &quot;editor.defaultFormatter&quot;: &quot;ms-python.python&quot;
    },</code></pre>
</li>
</ul>
<h2 id="3-black-적용">3) Black 적용</h2>
<h3 id="black-설치">Black 설치</h3>
<ul>
<li>사용하고자 하는 파이썬 환경에 black을 설치해줍니다.</li>
</ul>
<pre><code class="language-bash">$ pip install black</code></pre>
<ul>
<li>간혹 적용이 안될 때가 있는데, 이때는 다른 conda 환경에 설치해서 그럴 수도 있습니다.</li>
<li><code>ctrl + shift + p</code> 를 눌러서 select interpreter를 검색한 후에, 설치된 환경으로 변경합니다.
<img src="https://velog.velcdn.com/images/pear_min/post/762f527f-0337-4b19-b784-eec0fec97285/image.png" alt=""></li>
</ul>
<h3 id="black-설정">Black 설정</h3>
<p><img src="https://velog.velcdn.com/images/pear_min/post/3930b58f-b8a7-47f9-8a79-6c30b28122b6/image.png" alt=""></p>
<ul>
<li><code>ctrl+,</code>를 눌러서 설정으로 들어갑니다.</li>
<li>black을 검색합니다.</li>
<li>항목 추가를 눌러서 다음과 같은 항목을 추가합니다.<ul>
<li>—line-length</li>
<li>120</li>
</ul>
</li>
</ul>
<h1 id="3-사용-예">3. 사용 예</h1>
<hr>
<p><img src="https://velog.velcdn.com/images/pear_min/post/0cac835d-5844-4246-b734-1a3a2b661bb7/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[VGG Annotator]]></title>
            <link>https://velog.io/@pear_min/VGG-Annotator</link>
            <guid>https://velog.io/@pear_min/VGG-Annotator</guid>
            <pubDate>Wed, 03 Aug 2022 06:36:24 GMT</pubDate>
            <description><![CDATA[<h1 id="개요">개요</h1>
<hr>
<p>옥스포드대 Visual Geometry Group(VGG)에서 만든 Annotation tool 입니다. VGG Image Annotator은 다음과 같은 특징을 가지고 있습니다.</p>
<ul>
<li>html로 작성</li>
<li>다양한 region shape(rectangle, circle, polygon, polyline, single point)</li>
<li>json, csv format export</li>
</ul>
<p>웹 상에서 구동 가능하기에 단순 keypoint labeling 작업에 용이하다고 생각하였습니다.</p>
<p>주소: <a href="https://www.robots.ox.ac.uk/~vgg/software/via/via-2.0.4.html">https://www.robots.ox.ac.uk/~vgg/software/via/via-2.0.4.html</a></p>
<h1 id="사용-방법">사용 방법</h1>
<hr>
<h2 id="step-1">Step 1.</h2>
<p>주소를 클릭하면 다음과 같은 화면이 출력됩니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/7c12c401-870b-424f-abf2-43c2aaaef1bd/image.png" alt=""></p>
<h2 id="step-2">Step 2.</h2>
<p>Project&gt;Add local files 를 눌러 작업할 이미지들을 불러옵니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/41d36c27-ec28-44de-9714-e1d07458bc81/image.png" alt=""></p>
<p>이미지 로드 시 다음과 같이 폴더마다 작업할 수 있게 세팅이 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/ad5b38c2-af44-4e1a-892e-885d5d24afd5/image.png" alt=""></p>
<h2 id="step-3">Step 3.</h2>
<p>Region Shape의 다섯번째인 Point Region Shape를 클릭 후 Labeling할 포인트를 지정합니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/6532d38c-5732-4c9f-a068-50c7bd9c5add/image.png" alt=""></p>
<h2 id="step-4">Step 4.</h2>
<p>현재 이미지에서의 작업이 완료되면 <code>→</code> 키를 눌러 다음 이미지로 넘어가서 작업을 수행합니다.</p>
<h2 id="step-5">Step 5.</h2>
<p>Annotation&gt;Export Annotation을 눌러 csv 형태 또는 json 형태로 저장합니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/3ee7a5fe-9607-4c6b-8131-1ee72bc8572e/image.png" alt=""></p>
<p>저장된 csv는 다음과 같습니다. 하나의 포인트 마다 line에 좌표형태로 작성되어 있음을 확인할 수 있습니다.</p>
<p><img src="https://velog.velcdn.com/images/pear_min/post/af8072b9-c52a-481d-b4b8-593d3a445a4b/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Linux - window 파일 전송]]></title>
            <link>https://velog.io/@pear_min/Linux-window-%ED%8C%8C%EC%9D%BC-%EC%A0%84%EC%86%A1</link>
            <guid>https://velog.io/@pear_min/Linux-window-%ED%8C%8C%EC%9D%BC-%EC%A0%84%EC%86%A1</guid>
            <pubDate>Wed, 03 Aug 2022 06:32:32 GMT</pubDate>
            <description><![CDATA[<h1 id="1-linux-→-windows">1. Linux → Windows</h1>
<hr>
<pre><code class="language-bash">scp root@000.000.000:[서버 상 파일 경로] [윈도우 상 저장 경로]</code></pre>
<h1 id="2-window-→-linux">2. Window → Linux</h1>
<hr>
<p>윈도우 터미널 또는 vscode 상에서</p>
<pre><code class="language-bash">scp {옮기려는 파일} root@000.000.000.:{전송한 파일을 저장할 위치}</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[Linux - 압축 및 해제]]></title>
            <link>https://velog.io/@pear_min/Linux-%EC%95%95%EC%B6%95-%EB%B0%8F-%ED%95%B4%EC%A0%9C</link>
            <guid>https://velog.io/@pear_min/Linux-%EC%95%95%EC%B6%95-%EB%B0%8F-%ED%95%B4%EC%A0%9C</guid>
            <pubDate>Wed, 03 Aug 2022 06:30:35 GMT</pubDate>
            <description><![CDATA[<h2 id="background">Background</h2>
<p> 학습을 위해 데이터셋을 다운로드 받으면 용량이 큰 image dataset의 경우 대다수 압축파일 형태로 다운로드 받게 된다.(ex .zip .tar .gz .tar.gz .nii.gz 등)</p>
<p> 이 때 해당 압축파일을 터미널 상에서 압축 및 해제하는 방법에 대해 정리해보자</p>
<pre><code class="language-python">&gt; wget [다운로드 링크]</code></pre>
<h2 id="zip">.zip</h2>
<ul>
<li>zip이 설치되지 않았을 경우, <code>apt-get install zip</code> 또는 <code>pip install zip</code></li>
</ul>
<pre><code class="language-python"># zip 압축하기
&gt; zip [파일명.zip]

# zip 압축풀기
&gt; unzip [파일명.zip]

# zip 폴더 전체(하위 포함) 압축
&gt; zip [파일명.zip] -r [디렉토리]</code></pre>
<h2 id="tar">.tar</h2>
<pre><code class="language-python"># tar 압축하기
&gt; tar -cvf [파일명.tar] [폴더명]

# tar 압축풀기
&gt; tar -xvf [파일명.tar]</code></pre>
<h2 id="targz">tar.gz</h2>
<pre><code class="language-python"># tar.gz 압축하기
&gt; tar -zcvf [파일명.tar.gz] [폴더명]

# tar.gz 압축풀기
&gt; tar -zxvf [파일명.tar.gz]</code></pre>
<h2 id="xy">.xy</h2>
<pre><code class="language-python"># .xz 압축하기
&gt; xz {file}

# .xz 압풀기
&gt; xz -d {file}.xz

or

&gt; unxz {file}.xz</code></pre>
<hr>
<p>추가적으로 .<em>으로 시작하는 파일이 있는 경우가 있는데, 이러한 경우 `rm -rf ./*/.</em>*`를 통해 삭제할 수 있다.</p>
<hr>
<h2 id="reference">Reference</h2>
<ul>
<li>리눅스 tar, gz 압축 및 해제 - <a href="https://nota.tistory.com/53">https://nota.tistory.com/53</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Git: gitignore 미작동]]></title>
            <link>https://velog.io/@pear_min/Git-gitignore-%EB%AF%B8%EC%9E%91%EB%8F%99</link>
            <guid>https://velog.io/@pear_min/Git-gitignore-%EB%AF%B8%EC%9E%91%EB%8F%99</guid>
            <pubDate>Wed, 03 Aug 2022 06:30:06 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">git rm -r --cached .
git add .
git commit -m &quot;fixed files&quot;
git push</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 이미지 데이터 읽는 방법]]></title>
            <link>https://velog.io/@pear_min/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9D%BD%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
            <guid>https://velog.io/@pear_min/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9D%BD%EB%8A%94-%EB%B0%A9%EB%B2%95</guid>
            <pubDate>Wed, 03 Aug 2022 06:29:07 GMT</pubDate>
            <description><![CDATA[<h1 id="1-cv2imread">1. cv2.imread()</h1>
<pre><code class="language-python">import cv2
path = {file.jpg}
img = cv2.imread(path)</code></pre>
<h1 id="2-pilimageopen">2. PIL.Image.open()</h1>
<pre><code class="language-python">from PIL import Image
path = {file.jpg}
img = Image.open(path)</code></pre>
<h1 id="3-cv2imdecode">3. cv2.imdecode()</h1>
<pre><code class="language-python">import cv2
path = &quot;./root/file.jpg&quot;
with open(path, &quot;rb&quot;) as f: # read binary
    data = f.read()
encoded_img = np.fromstring(data, dtype = np.uinit8) # bin to unint8
img = cv2.imdecode(encoded_img, cv2.IMREAD_COLOR) # 1d to 3d</code></pre>
<h1 id="4-iobytesio">4. io.BytesIO()</h1>
<pre><code class="language-python">import io
from PIL import Image
path = &quot;./root/file.jpg&quot;
with open(path, &quot;rb&quot;) as f:
    data = f.read()
data_io = io.BytesIO(data)
img = Image.open(data_io)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError:Unable to load EGL library]]></title>
            <link>https://velog.io/@pear_min/ImportErrorUnable-to-load-EGL-library</link>
            <guid>https://velog.io/@pear_min/ImportErrorUnable-to-load-EGL-library</guid>
            <pubDate>Wed, 03 Aug 2022 06:28:21 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">sudo apt-get install libosmesa6-dev
sudo apt-get install freeglut3-dev</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[TypeError: tuple indices must be integers or slices not str]]></title>
            <link>https://velog.io/@pear_min/TypeError-tuple-indices-must-be-integers-or-slices-not-str</link>
            <guid>https://velog.io/@pear_min/TypeError-tuple-indices-must-be-integers-or-slices-not-str</guid>
            <pubDate>Wed, 03 Aug 2022 06:27:56 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p>Dataset에서 Transform 을 했을 때, Totensor를 적용하였으나, 위의 문제가 발생했었다.</p>
</li>
<li><p>머리를 싸매고 code by code로 확인한 결과, Collate_fn적용에서 문제가 발생한 것을 확인했다.</p>
</li>
<li><p>Collate_fn 을 사용하는 이유!</p>
<p>  map-style 데이터셋에서 sample list를 batch 단위로 바꾸기 위해 필요한 기능입니다. zero-padding이나 Variable Size 데이터 등 <code>데이터 사이즈를 맞추기</code> 위해 많이 사용합니다.</p>
</li>
<li><p>본인이 작성한 Collate_fn의 경우 아래와 같다.</p>
<pre><code class="language-python">  def collate_fn(batch):
      return tuple(zip(*batch))</code></pre>
</li>
<li><p>이렇게 했다 보니 Dataloader 적용 후 데이터 format이 tuple로 되어있기에 위의 문제가 발생함을 확인했다.</p>
</li>
<li><p>이는 CE 에 대한 기본 개념을 명확히 하지 않은 것으로 판단하여 더욱 공부해야할 것 같다..</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Error: System limit for number of file watchers reached]]></title>
            <link>https://velog.io/@pear_min/Error-System-limit-for-number-of-file-watchers-reached</link>
            <guid>https://velog.io/@pear_min/Error-System-limit-for-number-of-file-watchers-reached</guid>
            <pubDate>Wed, 03 Aug 2022 06:27:13 GMT</pubDate>
            <description><![CDATA[<h1 id="문제">문제</h1>
<p>Linux에서 기본적으로 inotify를 사용하여 디렉토리 변경 사항을 모니터링하는데,</p>
<p>모니터링 할 수 있는 파일 수에 대한 시스템 제한이 발생하는 것</p>
<pre><code class="language-python">$ cat /proc/sys/fs/inotify/max_user_watches =&gt; inotify 확인

&lt;임시로 늘리는 방법&gt;
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p

&lt;영구적으로 늘리는 방법&gt;
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ModuleNotFoundError:No module named 'cPickle’]]></title>
            <link>https://velog.io/@pear_min/ModuleNotFoundErrorNo-module-named-cPickle</link>
            <guid>https://velog.io/@pear_min/ModuleNotFoundErrorNo-module-named-cPickle</guid>
            <pubDate>Wed, 03 Aug 2022 06:26:39 GMT</pubDate>
            <description><![CDATA[<p>sklearn 버전 문제. python3 이후부터는 cPickle as pickle가 아닌 pickle as pickle을 사용합니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[RuntimeError:module compiled against API version 0xc but this version of numpy is 0xa]]></title>
            <link>https://velog.io/@pear_min/RuntimeErrormodule-compiled-against-API-version-0xc-but-this-version-of-numpy-is-0xa</link>
            <guid>https://velog.io/@pear_min/RuntimeErrormodule-compiled-against-API-version-0xc-but-this-version-of-numpy-is-0xa</guid>
            <pubDate>Wed, 03 Aug 2022 06:26:05 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">pip install numpy --upgrade</code></pre>
<p>(numpy 패키지가 없으면 pip install numpy 로 설치해준다..)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[UnboundLocalError:local variable ‘a’ referenced before assignment]]></title>
            <link>https://velog.io/@pear_min/UnboundLocalErrorlocal-variable-a-referenced-before-assignment</link>
            <guid>https://velog.io/@pear_min/UnboundLocalErrorlocal-variable-a-referenced-before-assignment</guid>
            <pubDate>Wed, 03 Aug 2022 06:25:28 GMT</pubDate>
            <description><![CDATA[<p>전역변수를 지역변수로 호출했을 떄 발생하는 문제이며, 간단하게 함수 내부에 <code>global</code> 변수명을 추가하면 해결</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError: Library “GLU” not found.]]></title>
            <link>https://velog.io/@pear_min/ImportError-Library-GLU-not-found</link>
            <guid>https://velog.io/@pear_min/ImportError-Library-GLU-not-found</guid>
            <pubDate>Wed, 03 Aug 2022 06:24:54 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">sudo apt-get update
sudo apt-get install freeglut3-dev</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError: libgthread-2.0.so.0]]></title>
            <link>https://velog.io/@pear_min/ImportError-libgthread-2.0.so.0</link>
            <guid>https://velog.io/@pear_min/ImportError-libgthread-2.0.so.0</guid>
            <pubDate>Wed, 03 Aug 2022 06:24:21 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-python">apt-get install libglib2.0-0 -y</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError: libGL.so.1: cannot open shared object file: No such file or directory]]></title>
            <link>https://velog.io/@pear_min/ImportError-libGL.so.1-cannot-open-shared-object-file-No-such-file-or-directory</link>
            <guid>https://velog.io/@pear_min/ImportError-libGL.so.1-cannot-open-shared-object-file-No-such-file-or-directory</guid>
            <pubDate>Wed, 03 Aug 2022 06:23:43 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash">$ apt-get install libgl1-mesa-glx -y</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError: Key already registered with the same priority]]></title>
            <link>https://velog.io/@pear_min/ImportError-Key-already-registered-with-the-same-priority</link>
            <guid>https://velog.io/@pear_min/ImportError-Key-already-registered-with-the-same-priority</guid>
            <pubDate>Wed, 03 Aug 2022 06:23:07 GMT</pubDate>
            <description><![CDATA[<p>문제 원인</p>
<ul>
<li>Pytorch와 관련된 에러</li>
</ul>
<p>해결 방법</p>
<ul>
<li>Pytorch와 관련된 모듈 및 패키지를 삭제한다.</li>
<li>새로 가상환경을 만든다.</li>
</ul>
<p>참고 자료</p>
<p><a href="https://discuss.pytorch.org/t/importerror-key-already-registered-with-the-same-priority/86271/2">importError:Key already registered with the same priority</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportError: IProgress not found. Please update jupyter and ipywidgets.]]></title>
            <link>https://velog.io/@pear_min/ImportError-IProgress-not-found.-Please-update-jupyter-and-ipywidgets</link>
            <guid>https://velog.io/@pear_min/ImportError-IProgress-not-found.-Please-update-jupyter-and-ipywidgets</guid>
            <pubDate>Wed, 03 Aug 2022 06:22:27 GMT</pubDate>
            <description><![CDATA[<pre><code class="language-bash"># Use pip
&gt; pip install ipywidgets
&gt; jupyter nbextension enable --py widgetsnbextension

# Use conda
&gt; conda install -c conda-forge ipywidgets -y

# Restart</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[cv2.error: empty() in function 'detectMultiScale']]></title>
            <link>https://velog.io/@pear_min/cv2.error-empty-in-function-detectMultiScale</link>
            <guid>https://velog.io/@pear_min/cv2.error-empty-in-function-detectMultiScale</guid>
            <pubDate>Wed, 03 Aug 2022 06:21:45 GMT</pubDate>
            <description><![CDATA[<p>opencv의 cascadeclassifier 사용 시 발생하는 에러입니다.</p>
<pre><code class="language-python"># before
face_cascade = cv2.CascadeClassifier(&#39;haarcascade_frontalface_default.xml&#39;)
eye_cascade = cv2.CascadeClassifier(&#39;haarcascade_eye.xml&#39;)

# After
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + &#39;haarcascade_frontalface_default.xml&#39;)
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + &#39;haarcascade_eye.xml&#39;)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[RuntimeError: Cuda out of memory]]></title>
            <link>https://velog.io/@pear_min/RuntimeError-Cuda-out-of-memory</link>
            <guid>https://velog.io/@pear_min/RuntimeError-Cuda-out-of-memory</guid>
            <pubDate>Wed, 03 Aug 2022 06:20:38 GMT</pubDate>
            <description><![CDATA[<p>딥러닝을 할 때 가장 많이 보이는 에러입니다. 오죽하면 다른 오류보다 해당 오류를 보면 반가울 정도..</p>
<p>메모리 사용량 초과 이슈입니다. 
보통 nvidia-smi를 통해 구동되는 process를 확인하는데, 구동되는 process는 없지만 사용량이 가득할 때는 아래 방식을 이용하면 됩니다.
방법 1</p>
<pre><code class="language-python">import gc
import torch
gc.collect()
torch.cuda.empty_cache()</code></pre>
<p>방법 2 - <code>서버의 상태 확인 후 사용 할 것</code></p>
<pre><code class="language-python"># 주의 터미널도 꺼짐
# pkill -u [userid]
$ pkill -u 0

# 혹은
$ pkill -u (root)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[ImportModuleError: Can’t import pycocotools]]></title>
            <link>https://velog.io/@pear_min/ImportModuleError-Cant-import-pycocotools</link>
            <guid>https://velog.io/@pear_min/ImportModuleError-Cant-import-pycocotools</guid>
            <pubDate>Wed, 03 Aug 2022 06:16:46 GMT</pubDate>
            <description><![CDATA[<ul>
<li><p>Pycocotools는 Linux와 mac에서는 문제 없이 설치 가능하지만, Windows에서는 설치가 안되는 문제가 있습니다.</p>
</li>
<li><p>이러한 문제를 해결하기 위해서는 다음과 같이 pip 설치합니다.</p>
<pre><code class="language-python">  pip install pycocotools-windows
  pip install scikit-image</code></pre>
</li>
<li><p>만약 skimage에서 문제가 있을 경우 재설치 하면 됩니다!</p>
</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>