2016년 7월 26일 화요일
원피스 - 쵸파윙(チョッパーウイング) 완성.
저번에 만든 쵸파크랜(http://openuiz.blogspot.kr/2016/07/blog-post.html)에 이어,
이번엔 쵸파윙(チョッパーウイング)을 만들었다.
(건프라에 비해 조립이 간단해서 금방 만든다. ㅎㅎ)
쵸파크랜보다 더 귀여울듯하다는 예상을 깨고, ...
훨씬 더 귀여웠다!!!! ㅜㅜ
그나저나.. 이걸 어디에 장식하나.. 아크릴박스는 또 왜케 비싼지. ㅠㅠ
회사 내 데스크에 가져다놓을까? (이나이에 괜한 푼수짓이려나..)
이번엔 쵸파윙(チョッパーウイング)을 만들었다.
(건프라에 비해 조립이 간단해서 금방 만든다. ㅎㅎ)
(봉지안의 모습) |
이거시 쵸파윙!ㅋ |
쵸파크랜보다 더 귀여울듯하다는 예상을 깨고, ...
훨씬 더 귀여웠다!!!! ㅜㅜ
그나저나.. 이걸 어디에 장식하나.. 아크릴박스는 또 왜케 비싼지. ㅠㅠ
회사 내 데스크에 가져다놓을까? (이나이에 괜한 푼수짓이려나..)
삼성동 "영동 족발보쌈" - 가지마라. 후...
서울 강남구 삼성동 158-4
"영동족발보쌈"
한숨으로 시작한다.
이사람이 밥 남긴거 처음본다.
(슬쩍 보이는 옆꾸리 포스로도 짐작들 가겠지?)
겁나짜다!
아오!!
뚝불에 첨가된 버섯에선 쉰내도 난다!!!!!!
밥 더 달라해서 말아보았다.
물도 퍼 붰다.
그래도 짜다.
회사동료들도 내가 음식투정하는거 첨 봤을거다.
원래 맛을 잘 몰라서 주는대로 먹는구만.. ㅠㅠ
결국 감당안되게 불어버린 개밥이 되었다.
결국 나도 남겼다.
"밥한공기 더주세요. 음식이 너무 짜네요"
이말을 했는데도 점원은 시큰둥~
사장 부를까하다 회사사람들도 있고해서 참았는데..
뚜껑열렸다. -_-+
(바닷물을 퍼 드시고 싶은분은 꼭 여기서 드셔 보시길.)
PS. 16~17시쯤 되니 배가 살살 아프더라.
퇴근쯤...
한참동안 뒤로 국물(?)을 쏟아냈다. 엉엉.. ㅠㅠ
2016년 7월 25일 월요일
「ORA-21561: OID generation failed」 해결방법
Linux マシンに Instant Client をインストールして、リモートホストのデータベースに sqlplus で接続しようとしたら、ORA-21561 が発生した。
Linux 시스템에 Instant Client를 설치하여 원격 호스트의 데이터베이스에 sqlplus로 접속하려고 했더니, ORA-21561가 발생했다.
1 2 3 4 5 | $ ./sqlplus scott/tiger@dbserver:1521/orcl SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 27 11:25:39 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-21561: OID generation failed |
/etc/hosts に hostname で返されるホスト名を追記したら解決した。
( /etc/hosts에 hostname에서 반환되는 호스트 이름 추가하니까 해결됐다. )
1 2 3 4 5 | [root@yazekats-linux rlwrap-0.37]$ hostname yazekats-linux [root@yazekats-linux rlwrap-0.37]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain yazekats-linux ★追記 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
参考
ORA-21561 and Oracle Instant Client 11.2
Note:1335327.1 Ora-21561: OID Generation Failed
2016년 7월 22일 금요일
mecab-ko-dic 품사 태그 설명
mecab-ko-dic 품사 태그 설명
대분류 | 세종 품사 태그 | mecab-ko-dic 품사 태그 | ||
태그 | 설명 | 태그 | 설명 | |
체언 | NNG | 일반 명사 | NNG | 일반 명사 |
NNP | 고유 명사 | NNP | 고유 명사 | |
NNB | 의존 명사 | NNB | 의존 명사 | |
NNBC | 단위를 나타내는 명사 | |||
NR | 수사 | NR | 수사 | |
NP | 대명사 | NP | 대명사 | |
용언 | VV | 동사 | VV | 동사 |
VA | 형용사 | VA | 형용사 | |
VX | 보조 용언 | VX | 보조 용언 | |
VCP | 긍정 지정사 | VCP | 긍정 지정사 | |
VCN | 부정 지정사 | VCN | 부정 지정사 | |
관형사 | MM | 관형사 | MM | 관형사 |
부사 | MAG | 일반 부사 | MAG | 일반 부사 |
MAJ | 접속 부사 | MAJ | 접속 부사 | |
감탄사 | IC | 감탄사 | IC | 감탄사 |
조사 | JKS | 주격 조사 | JKS | 주격 조사 |
JKC | 보격 조사 | JKC | 보격 조사 | |
JKG | 관형격 조사 | JKG | 관형격 조사 | |
JKO | 목적격 조사 | JKO | 목적격 조사 | |
JKB | 부사격 조사 | JKB | 부사격 조사 | |
JKV | 호격 조사 | JKV | 호격 조사 | |
JKQ | 인용격 조사 | JKQ | 인용격 조사 | |
JX | 보조사 | JX | 보조사 | |
JC | 접속 조사 | JC | 접속 조사 | |
선어말 어미 | EP | 선어말 어미 | EP | 선어말 어미 |
어말 어미 | EF | 종결 어미 | EF | 종결 어미 |
EC | 연결 어미 | EC | 연결 어미 | |
ETN | 명사형 전성 어미 | ETN | 명사형 전성 어미 | |
ETM | 관형형 전성 어미 | ETM | 관형형 전성 어미 | |
접두사 | XPN | 체언 접두사 | XPN | 체언 접두사 |
접미사 | XSN | 명사 파생 접미사 | XSN | 명사 파생 접미사 |
XSV | 동사 파생 접미사 | XSV | 동사 파생 접미사 | |
XSA | 형용사 파생 접미사 | XSA | 형용사 파생 접미사 | |
어근 | XR | 어근 | XR | 어근 |
부호 | SF | 마침표, 물음표, 느낌표 | SF | 마침표, 물음표, 느낌표 |
SE | 줄임표 | SE | 줄임표 … | |
SS | 따옴표,괄호표,줄표 | SSO | 여는 괄호 (, [ | |
SSC | 닫는 괄호 ), ] | |||
SP | 쉼표,가운뎃점,콜론,빗금 | SC | 구분자 , · / : | |
SO | 붙임표(물결,숨김,빠짐) | SY | ||
SW | 기타기호 (논리수학기호,화폐기호) | |||
한글 이외 | SL | 외국어 | SL | 외국어 |
SH | 한자 | SH | 한자 | |
SN | 숫자 | SN | 숫자 |
2016년 7월 13일 수요일
헬터 스켈터 (helter skelter: ヘルタースケルター) - 사와지리에리카 (2013.01.07)
헬터 스켈터 (helter skelter: ヘルタースケルター) 2013.01.07. 14:39
- 감독
- 니나가와 미카
- 출연
- 사와지리 에리카,오모리 나오,테라지마 시노부,아야노 고
- 개봉
- 2012 일본
여성들의 아름다움에 대한 욕구가 어떤 것인지 적나라하게 보여주는 영화였다고 생각한다.
"1리터의 눈물"에서 나온 그녀란게 믿기지 않을 정도로, 성숙한 연기, 깬다~ ㅋㅋ
( '1리터의 눈물' 볼땐, 정말이지 눈물 한바가지는 쏟은듯하구만.. )
이랬던 그녀가.. 이랬던 그녀가.. 이랬던 그녀가.. |
풋풋한 모습의 그녀는 어디가고.. ( 사와지리 에리카 완전 귀여워~ ㅠㅠ+ )
덧니도 사라졌네. 덧니 있을때가 좋았구만.
솔직히 영화 내용도 전혀 몰랐는데 사와지리 에리카가 주연이라기에 그냥 보기로한 영화구만,
노출신이라니;;
(좋은의미에서) 정말 깜짝 놀라기도 했다.
> 오랜만에 미디어에 언급되었길래 올~~~ 하면서 보는 경우? 그런 경우ㅋㅋㅋ
인기있는 연애인의 자살이라던가 우울증에 관해 좀 더 이해를 할 수 있도록 해주는 영화라본다. ( 어찌되었건 모든 인간은 원초적 외로움에서 벗어나기 어려운 법이니까. )
나름 의미있게 볼 수 있었다.
(근데.. 일본내에서는 노화속도-_-?가 빠르다는 말이 돈다는 둥 만다는 둥;; 흠..)
2016년 7월 11일 월요일
게임하던 시절을 문득 떠올리게 만드는..ㅋㅋ
(예전에 작성한 블로그 게시물)
World of Warcraft 당시 주캐릭 3개.
게임 접은지 상당시간이 흘러서인지 뭔소린지 하나도 모르겠다;;ㅋㅋㅋㅋㅋㅋㅋ
하지만, 아직도 WOW는, 최고의 게임이라 생각한다.
내가 철만 좀 덜 들었어도 반드시 하고있었을 게임! ㅠㅠ
내가 WOW를, 2004년쯤 시작한건가? 헐..ㅋㅋㅋㅋ
[작성일: 2007.07.01. 13:25]
-----------------------------------------------------------------
[2007년 06월 27일 현재]
아이디: 로빈짱
아이디: 서든데스
아이디: 블랙냥이
[2007년 06월 27일 현재]
아이디: 로빈짱
- 타우랜 드루이드 (야성들후)
- 70랩
- 약초 / 연금 (변환대가 375)
- 아이디는 원피스의 니코로빈에서 착안.
아이디: 서든데스
- 언데드 전사 (방특전사)
- 70랩
- 채광 / 대장 (방어구 대가 373)
- 아이디는 30세 되면서 만든 캐릭이라 서른됐소..에서 착안.
아이디: 블랙냥이
- 트롤 사냥꾼
- 70랩
- 무두 / 가죽세공 (용가죽 대가 375)
- 파밍사항: T5 完.
-----------------------------------------------------------------
(서버이름도 기억이 안난다.ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ)
2016년 7월 8일 금요일
word2vec_basic.py 테스트 하던 중 에러들
Tensorflow를 테스트 하기 위해, Tensorflow, Anaconda를 설치했다.
#OS는 [CentOS 7.2.1511]
- Anaconda3-4.1.0 : /usr/local/Anaconda3-4.1.0
- tensorfow-0.9.0 : /usr/local/Anaconda3-4.1.0/lib/python3.4/site-packages/tensorflow
먼저 pip3관련 에러를 보았다. (아, Python 3.x버전은 pip3이구만; ㅎㅎ)
$ pip3 install mecab-python3 로 해결했다.
하지만, import Mecab를 해보니 다음과 같은 에러가 그 뒤를 이었다. (에이짜증;;)
원인은 뭐지? 하다가.. 아 이런ㅄ
$ ldconfig ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅠㅠ (없던일로)
이제 아래와같은 Git의 파이썬파일을 실행해 봤다.
location: tensorflow/tensorflow/examples/tutorials/word2vec/word2vec_basic.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | # Copyright 2015 The TensorFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== from __future__ import absolute_import from __future__ import division from __future__ import print_function import collections import math import os import random import zipfile import numpy as np from six.moves import urllib from six.moves import xrange # pylint: disable=redefined-builtin import tensorflow as tf # Step 1: Download the data. url = 'http://mattmahoney.net/dc/' def maybe_download(filename, expected_bytes): """Download a file if not present, and make sure it's the right size.""" if not os.path.exists(filename): filename, _ = urllib.request.urlretrieve(url + filename, filename) statinfo = os.stat(filename) if statinfo.st_size == expected_bytes: print('Found and verified', filename) else: print(statinfo.st_size) raise Exception( 'Failed to verify ' + filename + '. Can you get to it with a browser?') return filename filename = maybe_download('text8.zip', 31344016) # Read the data into a list of strings. def read_data(filename): """Extract the first file enclosed in a zip file as a list of words""" with zipfile.ZipFile(filename) as f: data = tf.compat.as_str(f.read(f.namelist()[0])).split() return data words = read_data(filename) print('Data size', len(words)) # Step 2: Build the dictionary and replace rare words with UNK token. vocabulary_size = 50000 def build_dataset(words): count = [['UNK', -1]] count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) dictionary = dict() for word, _ in count: dictionary[word] = len(dictionary) data = list() unk_count = 0 for word in words: if word in dictionary: index = dictionary[word] else: index = 0 # dictionary['UNK'] unk_count += 1 data.append(index) count[0][1] = unk_count reverse_dictionary = dict(zip(dictionary.values(), dictionary.keys())) return data, count, dictionary, reverse_dictionary data, count, dictionary, reverse_dictionary = build_dataset(words) del words # Hint to reduce memory. print('Most common words (+UNK)', count[:5]) print('Sample data', data[:10], [reverse_dictionary[i] for i in data[:10]]) data_index = 0 # Step 3: Function to generate a training batch for the skip-gram model. def generate_batch(batch_size, num_skips, skip_window): global data_index assert batch_size % num_skips == 0 assert num_skips <= 2 * skip_window batch = np.ndarray(shape=(batch_size), dtype=np.int32) labels = np.ndarray(shape=(batch_size, 1), dtype=np.int32) span = 2 * skip_window + 1 # [ skip_window target skip_window ] buffer = collections.deque(maxlen=span) for _ in range(span): buffer.append(data[data_index]) data_index = (data_index + 1) % len(data) for i in range(batch_size // num_skips): target = skip_window # target label at the center of the buffer targets_to_avoid = [ skip_window ] for j in range(num_skips): while target in targets_to_avoid: target = random.randint(0, span - 1) targets_to_avoid.append(target) batch[i * num_skips + j] = buffer[skip_window] labels[i * num_skips + j, 0] = buffer[target] buffer.append(data[data_index]) data_index = (data_index + 1) % len(data) return batch, labels batch, labels = generate_batch(batch_size=8, num_skips=2, skip_window=1) for i in range(8): print(batch[i], reverse_dictionary[batch[i]], '->', labels[i, 0], reverse_dictionary[labels[i, 0]]) # Step 4: Build and train a skip-gram model. batch_size = 128 embedding_size = 128 # Dimension of the embedding vector. skip_window = 1 # How many words to consider left and right. num_skips = 2 # How many times to reuse an input to generate a label. # We pick a random validation set to sample nearest neighbors. Here we limit the # validation samples to the words that have a low numeric ID, which by # construction are also the most frequent. valid_size = 16 # Random set of words to evaluate similarity on. valid_window = 100 # Only pick dev samples in the head of the distribution. valid_examples = np.random.choice(valid_window, valid_size, replace=False) num_sampled = 64 # Number of negative examples to sample. graph = tf.Graph() with graph.as_default(): # Input data. train_inputs = tf.placeholder(tf.int32, shape=[batch_size]) train_labels = tf.placeholder(tf.int32, shape=[batch_size, 1]) valid_dataset = tf.constant(valid_examples, dtype=tf.int32) # Ops and variables pinned to the CPU because of missing GPU implementation with tf.device('/cpu:0'): # Look up embeddings for inputs. embeddings = tf.Variable( tf.random_uniform([vocabulary_size, embedding_size], -1.0, 1.0)) embed = tf.nn.embedding_lookup(embeddings, train_inputs) # Construct the variables for the NCE loss nce_weights = tf.Variable( tf.truncated_normal([vocabulary_size, embedding_size], stddev=1.0 / math.sqrt(embedding_size))) nce_biases = tf.Variable(tf.zeros([vocabulary_size])) # Compute the average NCE loss for the batch. # tf.nce_loss automatically draws a new sample of the negative labels each # time we evaluate the loss. loss = tf.reduce_mean( tf.nn.nce_loss(nce_weights, nce_biases, embed, train_labels, num_sampled, vocabulary_size)) # Construct the SGD optimizer using a learning rate of 1.0. optimizer = tf.train.GradientDescentOptimizer(1.0).minimize(loss) # Compute the cosine similarity between minibatch examples and all embeddings. norm = tf.sqrt(tf.reduce_sum(tf.square(embeddings), 1, keep_dims=True)) normalized_embeddings = embeddings / norm valid_embeddings = tf.nn.embedding_lookup( normalized_embeddings, valid_dataset) similarity = tf.matmul( valid_embeddings, normalized_embeddings, transpose_b=True) # Add variable initializer. init = tf.initialize_all_variables() # Step 5: Begin training. num_steps = 100001 with tf.Session(graph=graph) as session: # We must initialize all variables before we use them. init.run() print("Initialized") average_loss = 0 for step in xrange(num_steps): batch_inputs, batch_labels = generate_batch( batch_size, num_skips, skip_window) feed_dict = {train_inputs : batch_inputs, train_labels : batch_labels} # We perform one update step by evaluating the optimizer op (including it # in the list of returned values for session.run() _, loss_val = session.run([optimizer, loss], feed_dict=feed_dict) average_loss += loss_val if step % 2000 == 0: if step > 0: average_loss /= 2000 # The average loss is an estimate of the loss over the last 2000 batches. print("Average loss at step ", step, ": ", average_loss) average_loss = 0 # Note that this is expensive (~20% slowdown if computed every 500 steps) if step % 10000 == 0: sim = similarity.eval() for i in xrange(valid_size): valid_word = reverse_dictionary[valid_examples[i]] top_k = 8 # number of nearest neighbors nearest = (-sim[i, :]).argsort()[1:top_k+1] log_str = "Nearest to %s:" % valid_word for k in xrange(top_k): close_word = reverse_dictionary[nearest[k]] log_str = "%s %s," % (log_str, close_word) print(log_str) final_embeddings = normalized_embeddings.eval() # Step 6: Visualize the embeddings. def plot_with_labels(low_dim_embs, labels, filename='tsne.png'): assert low_dim_embs.shape[0] >= len(labels), "More labels than embeddings" plt.figure(figsize=(18, 18)) #in inches for i, label in enumerate(labels): x, y = low_dim_embs[i,:] plt.scatter(x, y) plt.annotate(label, xy=(x, y), xytext=(5, 2), textcoords='offset points', ha='right', va='bottom') plt.savefig(filename) try: from sklearn.manifold import TSNE import matplotlib.pyplot as plt tsne = TSNE(perplexity=30, n_components=2, init='pca', n_iter=5000) plot_only = 500 low_dim_embs = tsne.fit_transform(final_embeddings[:plot_only,:]) labels = [reverse_dictionary[i] for i in xrange(plot_only)] plot_with_labels(low_dim_embs, labels) except ImportError: print("Please install sklearn and matplotlib to visualize embeddings.") |
흠.. 역시 한방에 안되나? 다음과 같은 에러 등장. ㅜㅜ
Intel MKL FATAL ERROR: Cannot load libmkl_def.so.
해서 구글링결과 처리방안은,
( I don't understand how to built with anaconda / MKL #5046 )
A simple conda install --yes mkl mkl-service solved it for me. 란다;; ㅎㅎconda install --yes mkl mkl-service (성공)
다시실행해보았다. 음? 돈다? 라는생각도 잠시.. 좀있으니 또 에러가 나며 멈춰버렸다. (쳇)
대신 위와 같은 warning 은 사라진 에러였다.
(캬; 이게 사람 가지고 노나;;)
아까의 답변리스트 중 맨 아래 답변으로 관심을 돌렸다.
https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations this link solved the problemmkl이 없다는 에러인데, 오히려 mkl을 지우라고?ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
센스장이~ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 해결되었다;ㅋㅋㅋㅋㅋㅋㅋ
근데.. 이번엔 마지막부분에서 또 에러를 보게되었다.
흠.. 이번엔 RuntimeError: Invalid DISPLAY variable
pyplot.py와 backend_gt4agg.py에서 나는 에러였다.
역시 구글신께 문의했다. ( https://root.cern.ch/phpBB3/viewtopic.php?t=17137 )
코드가 잘못되었다면서 고치란다. 흠.. 고쳐보자.
line 237 & 238을 추가하였다.
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | #(중략...) try: from sklearn.manifold import TSNE import matplotlib matplotlib.use('Agg') # do this before importing pyplot import matplotlib.pyplot as plt tsne = TSNE(perplexity=30, n_components=2, init='pca', n_iter=5000) plot_only = 500 low_dim_embs = tsne.fit_transform(final_embeddings[:plot_only,:]) labels = [reverse_dictionary[i] for i in xrange(plot_only)] plot_with_labels(low_dim_embs, labels) except ImportError: print("Please install sklearn and matplotlib to visualize embeddings.") |
완성!! 정상으로 결과물이 나왔다.
따란!!~~~~~~
(훗, 파이썬&텐서플로우. 첫 입문 성공. ㅋㅋㅋㅋ)
피드 구독하기:
글 (Atom)
-
mecab-ko-dic 품사 태그 설명 대분류 세종 품사 태그 mecab-ko-dic 품사 태그 태그 설명 태그 설명 체언 NNG 일반 명사 NNG 일반 명사 NNP 고유 명사 NNP 고유 명사 NNB 의존 명사 NNB 의존 명사 ...
-
mecab-ko-dic 사전관리 Mecab-ko-dic 사전은 아주 간편한 몇가지 규칙으로 관리된다. 비전문가라 하여도 다른 형태소분석기에 비해, 간단하게 배우고 관리할 수 있다는 장점이 있다. (사전 설치/추가 방법은 본 포스트 하단참고)...
-
CentOS 7.x 에서의 Port 관리법 개요 포트를 오픈하려고 iptables 명령을 사용했다. 그런데 아무런 반응이 없었다. iptables -I INPUT -p tcp --dport 8889 -j ACCEPT ...