Full text search for "re"
- 20100428_DM365_Boot_cfg_reg . . . . 1 match
9.12.7 Boot Configuration (BOOTCFG ) Register
'''Base Address : 0x01C4 0000'''
- 20100513_new_camtron_hw_package . . . . 66 matches
1. Power on reset 하드웨어 추가
davinci_cfg_reg(DM365_GPIO91, PINMUX_RESV);
davinci_cfg_reg(DM365_GPIO92, PINMUX_RESV);
gpio_direction_output(91,0); // set to master mode
gpio_direction_output(92,0); // active low
davinci_cfg_reg(DM365_GPIO33, PINMUX_RESV); //IMX_XCLR (reset)
davinci_cfg_reg(DM365_GPIO31, PINMUX_RESV); //IMX_DMODE (master or slave mode)
gpio_direction_output(33,0); // active low
gpio_direction_output(31,0); // set to master mode
davinci_cfg_reg(DM365_GPIO23, PINMUX_RESV); //IMX_XCLR (reset)
davinci_cfg_reg(DM365_GPIO24, PINMUX_RESV); //IMX_DMODE (master or slave mode)
gpio_direction_output(23,0); // active low
gpio_direction_output(24,0); // set to master mode
== Power on reset 하드웨어 추가 ==
gps에서 사용하던 부분이 Power on reset으로 변경 사용됨.
davinci_cfg_reg(DM365_GPIO64_57, PINMUX_RESV);
gpio_direction_output(GPS_RESET,0);
gpio_direction_input(GPS_PPS);
gpio_direction_input(GPS_GPIO);
gpio_direction_output(GPS_BOOT,0);
- 20100727_ipnc_hardware_comfirm . . . . 1 match
== Factory Reset 검증 ==
* Factory reset pin 변경 85 -> 90
- 20100802_ipnc_osd . . . . 3 matches
return -1;
return -1;
return 0;
- 20100803_ipnc_system_configuration . . . . 5 matches
reset시 network 설정을 유지 하기 위해서
rta_reset 코드 수정
while(dm355_gio_read(90))
printf("Factory reset ..... \n");
system("reboot");
- 20101105_hdcctv_image_data_path . . . . 2 matches
Valid Data Area를 추출하기 위해서 필요한 Register
Resize 블럭은 A, B 두개를 지원한다.
venc->DRGBX0 = 0x400; /* DRGB matrix register back to default */
- 20101117_spd400_filesystem_yaffs2 . . . . 4 matches
||Read Time ||Fast ||Slow ||
||Power consumption ||High ||Low, but requires additional RAM ||
||Bit twiddling ||nearly unrestricted ||1-3 times, also known ad "partial page program restriction" ||
- 20101203_spd400_filesystem_install_guide . . . . 2 matches
.mask_flags = MTD_WRITEABLE, /* force read-only */
Bytes transferred = 38499648 (24b7540 hex)
- 20110711_xbmd . . . . 2 matches
return -1;
carriage return 이라는 것을 처리 하기 위해서 조건에 '''ch != 13'''을 추가 했다.
- 20110824_fftw . . . . 3 matches
== freeimage 라이브러리 설치 ==
$ apt-get install libfreeimage3
$ apt-get install libfreeimage3-dev
- 20120402_fpga_fft . . . . 57 matches
//printf("%le %le \n", x[lower_leg].real, x[lower_leg].image);
temp1.real = upper_leg->real + (lower_leg->real * k.real - lower_leg->image * k.image);
temp1.image = upper_leg->image + (lower_leg->image * k.real + lower_leg->real * k.image);
temp2.real = upper_leg->real - (lower_leg->real * k.real - lower_leg->image * k.image);
temp2.image = upper_leg->image - (lower_leg->image * k.real + lower_leg->real * k.image);
upper_leg->real = temp1.real;
lower_leg->real = temp2.real;
y[i].real = x[order[i]].real;
x1real : in std_logic_vector(63 downto 0);
x2real : in std_logic_vector(63 downto 0);
wreal : in std_logic_vector(63 downto 0);
y1real : out std_logic_vector(63 downto 0);
y2real : out std_logic_vector(63 downto 0);
architecture Behavioral of radix2 is
signal x1realfp : float64;
signal x2realfp : float64;
signal wrealfp : float64;
signal temp1realfp : float64;
signal temp2realfp : float64;
x1realfp <= to_float(x1real, x1realfp);
- 3d_printer . . . . 1 match
https://ultimaker.com/en/products/cura-software
- AuxCAM . . . . 62 matches
이와 같은 일들을 하기 위한 여러가지 연구가 진행 중이다. 검출기 주변에 각종 센서를 설치하여 모니터링을 하고 이 데이터를 [:auxMVC Auxiliary channel data]라고 하고 이를 근거로 노이즈를 분류하는 연구를 진행하였다.[* Rahul Biswas et al. '''Application of machine learning algorithms to the study of noise artifacts in gravitational-wave data''', Phys. Rev. D, 2013, https://arxiv.org/abs/1303.6984] 최근에는 이러한 연구에 기반해서 노이즈원까지도 분석하려는 시도가 있었다.[* Marco et al. '''Finding the origin of noise transients in LIGO data with machine learning''', https://arxiv.org/pdf/1812.05225.pdf]
2015년 9월 14일 아침, 최초의 중력파를 LIGO 검출기가 검출했다. 그 이후로 다양한 질량의 블랙홀 병합과 중성자 별 병합 이벤트에 대한 중력파 검출을 했고 지금도 검출중이다. 지상에 설치된 Advanced LIGO의 Sensitivity [* A. Buikema et al. '''Sensitivity and Performance of the Advanced LIGO Detectors in the Third Observing Run''', Phys. Rev. D 102, 2020]는 현재 아래 그림과 같다.
= 보조 채널[* https://git.ligo.org/detchar/ligo-channel-lists/-/blob/dfaaac6fdc1729fc3fca42c6a60ab03d86bc2eaf/O1/L1-O1-reduced.ini] =
||Hydraulic Pre Isolator (HPI)|| 11 ||
||Pre Stabilized Laser(PSL) || 8 ||
def Band_Spatial_Module(input, output_band, output_spatial, kernel_band, kernel_spatial, regularizer, initializer):
activation=tf.nn.leaky_relu,
depthwise_regularizer=regularizer, pointwise_regularizer=regularizer)
feature = tf.layers.conv2d(inputs=tmp, filters=output_spatial, kernel_size=kernel_spatial, activation=tf.nn.leaky_relu,
kernel_initializer=initializer, kernel_regularizer=regularizer)
feature = tf.layers.batch_normalization(inputs=feature)
return tmp, feature
def MSNN(eeg, label, num_channel, num_output, sampling_freq, SSVEP_mode=False, reuse=False):
with tf.variable_scope("MSNN", reuse=reuse):
# Like EEGNet, we used different kernel sizes and feature map dimensions for the SSVEP experiment.
# We used L1-L2 regularizer, Xavier Initializer for all convolutional layers.
regularizer = tf.contrib.layers.l1_l2_regularizer(scale_l1=0.01, scale_l2=0.001)
hidden = tf.layers.conv2d(inputs=eeg, filters=4, kernel_size=(1, sampling_freq/2), activation=tf.nn.leaky_relu,
kernel_initializer=initializer, kernel_regularizer=regularizer)
hidden, feature_low = Band_Spatial_Module(input=hidden, output_band=F1, output_spatial=F1, kernel_band=k1,
- BLAS . . . . 26 matches
[http://core.ring.gr.jp/pub/GNU/gsl/ 다운로드]
./configure --prefix=/home/wskim/.lib
The matrices are stored in row major order, according to the C convention for arrays.
return 0;
Here is the output from the program,
The matrices are stored in row major order but could be stored in column major order if the first argument of the call to cblas_sgemm was changed to CblasColMajor.
return 0;
There is no need to link with the main library -lgsl in this case as the cblas library is an independent unit. Here is the output from the program,
== Shared Libraries ==
To run a program linked with the shared version of the library the operating system must be able to locate the corresponding .so file at runtime. If the library cannot be found, the following error will occur:
./a.out: error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such file or directory
To avoid this error, either modify the system dynamic linker configuration1 or define the shell variable LD_LIBRARY_PATH to include the directory where the library is installed.
To save retyping these commands each session they can be placed in an individual or system-wide login file.
The library is installed as a single file, libgsl.a. A shared version of the library libgsl.so is also installed on systems that support shared libraries. The default location of these files is /usr/local/lib. If this directory is not on the standard search path of your linker you will also need to provide its location as a command line flag.
[http://www.gnu.org/software/gsl/manual/html_node/ 메뉴얼]
- BadContent . . . . 3 matches
http:\/\/www\.freewebs\.com
freesex
young preteens
- BarMacro . . . . 1 match
will output a simple progress bar like this:
- Bias_Variance_Tradeoff . . . . 3 matches
기계학습, 통계적 추론(Statistical Inference)을 공부하다 보면 언젠가는 Bias-Variance Tradeoff라는 개념을 만나게 된다. 사실, 아무리 기를 써도 피할 수 없다 :) Bias의 사전적 의미는 “편이”, “선입견”, “편견”, “성향”, “치우침”, Variance는 “변화”, “편차”, “분산”이다. 기계학습의 문맥에서 이들의 의미는 ‘학습 모형이 입력 데이터에 얼마나 의존하는가’라고 이해하면 쉬울 것 같다. Bias가 높다 / 낮다는 말의 의미를 혼동하기 쉬운데, 내가 찾아낸 헷갈리지 않는 설명은 이렇다.
Gaussian mixture 모델처럼 학습데이터 하나가 \(\theta_i\)를 갖는다. \(\theta_i\) 0에서 1사이의 값을 갖는다. [* http://jaejunyoo.blogspot.com/2018/02/minimizing-negative-log-likelihood-in-kor-3.html]
1. Introduction to Information Retrieval, Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, 2008
1. All of Statistics: A Concise Course in Statistical Inference, 1ed, Larry Wasserman, 2004
- BlogChanges . . . . 1 match
'''See also:''' RecentChanges
attachment:"squirrel.gif"
- CCTV . . . . 2 matches
= HDCCTV Feature =
수정해야 할 소스 : cctv_feature.h
#define APRO_HARDWARE
- CalendarMacro . . . . 2 matches
{{{[[Calendar(noweek,yearlink)]]}}} show prev/next year link
'''YEAR-MONTH subpage is created'''
- CategoryCategory . . . . 1 match
For more information, see Wiki:AboutCategoriesAndTopics .
- CategoryHomepage . . . . 2 matches
Note that such pages are "owned" by the respective person, and should not be edited by others, except to leave a message to that person. To do so, just append your message to the page, after four dashes like so:
- DM365_Interrupt . . . . 3 matches
= Feature =
* Each interrupt channel is mappable to a Fast Interrupt Request (FIQ) or to an Interrupt Request (IRQ) type of interrupt.
* Hardware prioritization of simultaneous interrupts ·
* Configurable interrupt entry table (FIQ and IRQ priority table entry) to reduce interrupt processing time
- DM365_VoiceCodec . . . . 1 match
= Register =
'''Base Address 0x01d0 c000'''
Write FIFO, Read FIFO를 Enable로 설정한다.
- DNN_index . . . . 13 matches
Andrew Ng(앤드류 응, 스탠포드대학) 과 구글이 2012년에 16,000개의 프로세서와 10억개 이상의 뉴럴네트워크를 이용해서 유튜브 비디오중에서 고양이를 인식하는 DNN 연구를 진행했다. Unsupervised learning을 이용해서 고양이를 찾음.
* [http://www.cs.toronto.edu/~hinton/absps/dropout.pdf Improving neural networks by preventing co-adaptation of feature detectors, 2012, Geoffery Hinton]
Yenn LeCun(뉴욕 대학) - 페이스북에 채용됨. [[https://www.reddit.com/r/MachineLearning/comments/25lnbt/ama_yann_lecun Reddit]]에서 강연?
* [http://cs.nyu.edu/~wanli/dropc/ Regularization of Neural Networks using DropConnect, 2013, Li Wan]
* [http://www-labs.iro.umontreal.ca/~bengioy/dlbook/ MIT Press Book in preparation]
* [http://www.iro.umontreal.ca/~bengioy/papers/ftml.pdf Learning Deep Architectures for AI]
* [http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf Learning Deep Architectures for AI book version]
* [https://www.utc.fr/~bordesan/dokuwiki/_media/en/glorot10nipsworkshop.pdf Deep Sparse Rectifier Neural Networks, 2010]
* [http://jmlr.org/proceedings/papers/v15/glorot11a/glorot11a.pdf Deep Sparse Rectifier Neural Networks, 2011]
* [http://jmlr.org/papers/volume11/erhan10a/erhan10a.pdf Why Does Unsupervised Pre-training Help Deep Learning?, Journal of Machine Learning Research 11, 2010]
Pascal Vincent - [:ann_rnn RNN] (Recurrent Neural Network) 예전의 RNN은 인공신경망이 너무 깊어서 오랜 시간 전의 데이터들을 까먹는 현상(vanishing gradient problem) 때문에 학습이 힘들었는데요, 유르겐 슈미트후버(Jurgen Schmidhuber) 교수의 Long-Short term Memory란 게이트 유닛을 노드마다 배치하여 이러한 문제를 극복, 현재는 컨볼루셔널 네트워크의 가장 강력한 경쟁 상대로 자리매김하고 있습니다.
- DSC_Depthwise_separable_Convolution . . . . 4 matches
Inception 과 같이 CNN의 계산량을 줄이기 위한 또 하나의 기술로 Depthwise separable convolution과 pointwise convolution이 있다.[* https://m.blog.naver.com/PostView.nhn?blogId=chacagea&logNo=221582912200&categoryNo=43&proxyReferer=https:%2F%2Fwww.google.com%2F]
[[HTML(<embed src="https://www.youtube.com/embed/T7o3xvJLuHk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="560" height="315" allowScriptAccess="always" allowFullScreen="true"></embed>)]]
- DTW_dynamic_time_wrapping . . . . 4 matches
return cost[-1, -1], path
[[HTML(<iframe width="560" height="315" src="https://www.youtube.com/embed/_K1OsqCicBY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)]]
- DateTimeMacro . . . . 1 match
@SIG''''''@ or @DATE''''''@ is replaced to DateTimeMacro.
- ELF . . . . 1 match
An ELF file has two views: The program header shows the segments used at run-time, whereas the section header lists the set of sections of the binary.
- EMD . . . . 3 matches
git clone git@210.119.60.156:/repo/eemd.git
* [http://epub.uni-regensburg.de/27783/1/dissertation.pdf Weighted Sliding Empirical Mode Decomposition and its Application to Neuromonitoring Data], Angela Zeiler, 2012
* https://code.google.com/archive/p/realtime-emd/
- EmbeddedLinux시작하기 . . . . 2 matches
* HAL(Hardware Abstraction Layer)
HAL(Hardware Abstraction Layer)는 플랫폼 하드웨어를 가상화하므로 드라이버를 다른 하드웨어에 쉽게 포팅할 수 있도록 해 준다.
- English_letter . . . . 16 matches
I am writing to + (감사의 의미를 전하고자 할 때) express my gratitude for
convey my sincere thanks for
+ (문의를 하고자 할 때) request information about
enquire about
express my deep dissatisfaction with
express my concern about
express my response to
{{{ I am writing with regard to + 토픽 }}}
take immediate measures to rectify this situation.
address this problem without delay.
I would greatly appreciate it + if you could send me the relevant information.
Dear + 사람이름을 아는 경우에는 Yours Sincerely, 를 쓰고, Dear Sir or Madam, 인 경우에는 Yours Faithfully, 를 사용합니다.
- English_story . . . . 6 matches
"Where did you get the bike from?" his friends want to know.
"It's a 'thank you' present", he explains,
"from that freshman girl I've been tutoring. But the story is kind of weird..."
"yesterday she called me on the phone and told me that she had passed her math final and that she wanted to drop by to thank me in person. As usual, she arrived at my place riding her bicycle. But when I had let her in, she suddenly took all her clothes off, lay down on my bed, smiled at me, and said 'You can get from me whatever you desire!'"
One of his friends remarks, "You made a really smart choice when you took the bicycle."
- FPGA_PSA_Implementation . . . . 88 matches
|표 1. Virtex-6 FPGA ML605 Evaluation Resources|<tablewidth="350px">Number of Slice Registers || 301,444||
= Pipeline stream algorithm FFT =
PSA FFT 는 R2MDC(Radix-2 Multi-path Delay Commutator)에 속하며 두 개의 데이터를 연산의 기본 단위로 사용하는 Radix2 알고리즘이다. 또한, Stream data 입력을 받아 내부에서 Multi-path 로 데이터를 병렬화해서 연산 속도를 높이는 방식을 취하며 출력 데이터가 입력으로 돌아오는 Feed-back 이 없어 계산 블록 마지막에 결과를 확인할 수 있는 구조이다.
attachment:foobar.png?'''[[br]]그림''' 1: ''Three stages in the computation of an N = 8-point DFT''
//printf("%le %le \n", x[lower_leg].real, x[lower_leg].image);
temp1.real = upper_leg->real + (lower_leg->real * k.real - lower_leg->image * k.image);
temp1.image = upper_leg->image + (lower_leg->image * k.real + lower_leg->real * k.image);
temp2.real = upper_leg->real - (lower_leg->real * k.real - lower_leg->image * k.image);
temp2.image = upper_leg->image - (lower_leg->image * k.real + lower_leg->real * k.image);
upper_leg->real = temp1.real;
lower_leg->real = temp2.real;
|표 2. PSA_FFT vs Xilinx IP|<tablewidth="600px"> Point || PSA FFT || IP Core ||
x1real : in std_logic_vector(31 downto 0);
x2real : in std_logic_vector(31 downto 0);
wreal : in std_logic_vector(31 downto 0);
y1real : out std_logic_vector(31 downto 0);
y2real : out std_logic_vector(31 downto 0);
architecture Behavioral of radix2_d is
result_valid : OUT std_logic;
result : OUT std_logic_vector(31 downto 0)
- Filesystem_yaffs2Yaffs2 . . . . 2 matches
http://blog.naver.com/kmk1030?Redirect=Log&logNo=150144895381
http://blog.naver.com/wizard412?Redirect=Log&logNo=140039592016
- Finite_Elements_Method . . . . 2 matches
* F.D.M(Finite Difference Method, 유한 차분법)
또한 우리가 해결하고자 하는 영역(Domain) 역시 아래 그림처럼 삼각형 형태로 자르게(Triangulation) 된다. 어떻게 자를 것이냐는 문제 역시 아주 중요해지는데, 이를 그물코 형성(Mesh Generation)이라고 한다. 사실 아래 그림은 원에서 이런 삼각형 요소를 잡은 것인데, 만약 도메인에 나쁜 성질(뾰족한 점, cusp와 같은 점)이 있으면 쉽게 잡기도 힘들다. 또한 이러한 Mesh Generation은 나중에 Computation Cost에도 직접적인 영향을 미치기 때문에 (돈문제에 사람들은 민감하다....) 어떻게든 최대한 적게 잡고 좋은 수렴율(어짜피 유한 차원 공간이기 때문에 원래 편미분 방정식의 해와 같기가 쉽지 않다.)을 얻을까 고민하고 있다. 이를 적응 그물코 형성(Adaptive Mesh Refinement)라고 한다. 아직 이부분에 관한 연구가 진행 중에 있다. 수치해석 학술지 저널에 이런 주제로 많은 논문이 실리고는 있지만 거의 대부분 부분적인 결과들이다.....
또한 FEM은 기존에 해석학에서 많이 알려진 부등식을 사용하거나, Green Function을 사용하여 실제 해의 오차를 기본적으로 쉽게 측정할 수 있게 해 준다. 이를 선험적 측정(A priori estimate)라고 하는데, 일단 기본적으로 오차가 이정도 이내에는 있다는 것이 이야기 해 준다. 즉, 실제 해를 구하지도 않고, 단지 수학적인 공식만 쭉 나열하다보면 이러한 측정을 쉽게 얻을 수 있다. 물론 이는 나중에 좀 더 해에 관한 고민을 하고 나면 경험적 측정(A posteriori estimate)를 통해 더욱 더 엄밀한 측정을 할 수 있게 된다.
- FootNoteMacro . . . . 1 match
* {{{[[FootNote([1])]]}}}: could be replaced with {{{[1]}}} ?
- Fortran95_Tutorial . . . . 102 matches
write(*,*) "Greetings denizens of planet Earth!"
real
double precision
real, double precision은 4bytes, 8bytes 실수형
real r, area, pi
! This program reads a real number r and prints
! the area of a circle with radius r.
read (*,*) r
area = pi*r*r
write (*,*) 'Area = ', area
= 수식과 지정(Expressions and assignment) =
1. '''실수 상수(real constant)'''
1. '''Double 실수 상수(real constant)'''
real //실수형으로 변환
예 : How to multiply 두 개의 실수 변수 x와 y 를 double precision을 사용하여 곱하고 그 결과를 double precision 변수 w에 저장하는 방법:
= 논리식 (Logical expressions) =
논리식 (logical expression)은 .TRUE. 이나 .FALSE.의 값만이 가능하다.
if (logical expression) executable statement
if (logical expression) then
if (logical expression) then
- FortuneCookies . . . . 98 matches
* "It seems strange to meet computer geeks who're still primarily running Windows... as if they were still cooking on a wood stove or something." - mbp
* "Heck, I'm having a hard time imagining the DOM as civilized!" -- Fred L. Drake, Jr.
* Some men are discovered; others are found out.
* By failing to prepare, you are preparing to fail.
* If you always postpone pleasure you will never have it. Quit work and play for once!
* Your present plans will be successful.
* He who spends a storm beneath a tree, takes life with a grain of TNT.
* You attempt things that you do not even plan because of your extreme stupidity.
* Take care of the luxuries and the necessities will take care of themselves.
* Words are the voice of the heart.
* The best prophet of the future is the past.
* Money will say more in one moment than the most eloquent lover can in years.
* Creditors have much better memories than debtors.
* Alimony and bribes will engage a large share of your wealth.
* Stop searching forever. Happiness is just next to you.
* Mind your own business, Spock. I'm sick of your halfbreed interference.
* You are secretive in your dealings but never to the extent of trickery.
* You are tricky, but never to the point of dishonesty.
* The person you rejected yesterday could make you happy, if you say yes.
* Show your affection, which will probably meet with pleasant response.
- FortuneMacro . . . . 2 matches
1. fortune이 설치되어 있어야 한다. {{{/usr/bin/fortune, /usr/share/games/fortune/}}}
* http://korea.gnu.org/people/chsong/fortune/
- GAN_iclr_2017 . . . . 22 matches
#title Precise recovery of latent vectors from generative adversarial networks
ICLR 2017 Workshop track에서 발표가 있었던거 같은 논문 PRECISE RECOVERY OF LATENT VECTORS FROM GENERATIVE ADVERSARIAL NETWORKS [* https://arxiv.org/pdf/1702.04782.pdf]을 읽고 논문의 리뷰를 작성한다.
no out-of-the-box method to reverse the mapping, projecting images back into
clipping. In experiments, for images generated by the GAN, we precisely recover
their latent vector pre-images 100% of the time. Additional experiments demonstrate
images, our method appears to recover unique encodings
GANs consist of a generator and a discriminator. The generator maps samples from a low dimensional latent space onto the space of images. The discriminator tries to distinguish between images produced by the generator and real images. During training, the generator tries to fool the discriminator. After training, researchers typically discard the discriminator. Images can then be generated by drawing samples from the latent space and passing them through the generator.
Donahue et al. (2016) suggests an extension to GAN in which a third model explicitly learns the reverse mapping. Creswell & Bharath (2016) suggest that inverting the generator is difficult, noting that, in principle, a single image φ(z) may map to multiple latent vectors z. They propose a gradient-based approach to recover latent vectors and evaluate the process on the reconstruction error in image space.
We reconstruct latent vectors by performing gradient descent over the components of the latent representations and introduce a new technique called stochastic clipping. To our knowledge, this is the first empirical demonstration that DCGANS can be inverted to arbitrary precision. Moreover, we demonstrate that these reconstructions are robust to added noise. After adding small amounts of Gaussian noise to images, we nonetheless recover the latent vector z with little loss of fidelity.
== Gradient based input reconstruction ad stochastic clipping ==
- GAN_review . . . . 11 matches
이걸 개선한 모델 중 이미지 피라미드와 Laplacian 필터를 적용한 LAPGAN [* Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks (http://arxiv.org/abs/1506.05751)]이 있고요, 이번에 나온 DCGAN [* Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (http://arxiv.org/abs/1511.06434)]이란게 있습니다 (이건 아직 안 읽음). 첨부한 이미지가 DCGAN 논문에 있는 이미지인데 침실 이미지를 상당히 디테일하게 만들어내네요.
mnist = input_data.read_data_sets("MNIST_data/")
* Makes sure the weights are 'just right', not too small, not too big.
return tf.random_normal(shape=shape, stddev=1/shape[0])
h1 = tf.nn.relu(tf.matmul(z, w['w1']) + w['b1'])
return tf.sigmoid(tf.matmul(h1, w['out']) + w['b2'])
h1 = tf.nn.relu(tf.matmul(x, w['w1']) + w['b1'])
return tf.sigmoid(tf.matmul(h1, w['out']) + w['b2'])
Hidden 레이어는 Relu를 사용했고 출력단은 시그모이드를 사용하도록 구성 했습니다. 우선은 그냥 사용해 보고 Activation function을 바꿔가면서 테스트 해보도록 하겠습니다.
G_objective = -tf.reduce_mean(tf.log(D(G(z))))
D_objective = -tf.reduce_mean(tf.log(D(X)) + tf.log(1 - D(G(z))))
- GPIO . . . . 6 matches
= Feature =
* These GPIOs are 3.3v I/O signals.
= GPIO Registers =
= Structure of GPIO_reg =
* Register Overlay Structure for BANK
} CSL_GpioBankRegs;
* Register Overlay Structure
CSL_GpioBankRegs BANK[4];
} CSL_GpioRegs;
- Gradient_Descent . . . . 4 matches
선형연립방정식으로 주어지는 Least Square 문제는 '''선형대수학 #5''' 선형연립방정식 풀이 글에서 설명한 바와 같이 SVD나 Pseudo-inverse를 이용하여 계산할 수 있습니다. 그리고 비선형연립방정식으로 주어지는 Least Square 문제는 [:Newtons_method 뉴턴법/뉴턴-랩슨법의 이해와 활용(Newton's method)] 글에서 설명한 Gauss-Newton 법으로 풀 수 있습니다. 여기서는 비선형연립방정식으로 주어지는 Least Square 문제를 gradient descent 방법으로 푸는 방법에 대해 살펴보겠습니다.
위 식을 동시에 만족시키는 \(x = (x_1,...,x_n)\)을 구하는 문제는 결국 아래의 E를 최소화시키는 x를 구하는 LS(Least Square) 문제로 볼 수 있습니다.
- Gradient_Jacobian_Hessian_Laplacian . . . . 2 matches
즉, Hessian은 함수의 곡률(curvature) 특성을 나타내는 행렬로서 최적화 문제에 적용할 경우 Hessian을 이용하면 다음 식과 같이 p 근처에서 함수를 2차 항까지 근사시킬 수 있습니다 (second-order Taylor expansion)
이러한 구분의 핵심에는 Hessian 행렬의 고유벡터(eigenvector)는 함수의 곡률이 큰 방향벡터를 나타내고 고유값(eigenvalue)은 해당 고유벡터(eigenvector) 방향으로의 함수의 곡률(curvature, 이차미분값)을 나타낸다는 점에 있습니다.
- HDCCTV50HZ . . . . 8 matches
Register Base Address '''0x01C7:1E00'''
출력 영상의 frame refresh rate가 24, 25, 30, 50, 60Hz 일때 74.25 MHz의 Sample clock rate를 갖는다.
Sample clock rate는 고정이고 출력 frame refresh rate를 변경하려고 한다면 ①의 공식에서 frame refresh rate를 변경하고 이에 따른 HINT+1 값을 구하면 된다.
} CSL_VencRegs;
typedef volatile CSL_VencRegs * CSL_VencRegsOvly;
#define CSL_VENC_0_REGS ((CSL_VencRegsOvly) 0x01c71e00)
CSL_VencRegsOvly venc = CSL_VENC_0_REGS;
CSL_SysRegsOvly syscfg = CSL_SYS_0_REGS;
CSL_VpbeclkRegsOvly vpbe = CSL_VPBECLK_0_REGS;
venc->DRGBX0 = 0x400; /* DRGB matrix register back to default */
/* Set 7.5 IRE */
- HDCCTV_2M_SONY . . . . 1 match
기존 HDCCTV는 REG Bayer 포멧으로 영상을 입력 받아 출력 하게 되어 있다.
CCDC_FRMFMT_PROGRESSIVE, /* frm_fmt */
16, /* resize ratio 16/rsz */
DM365_DPCM_SIMPLE_PRED
IPIPE_GREEN_RED,
IPIPE_RED,
IPIPE_GREEN_BLUE,
- HDCCTV_BE_ycc8 . . . . 1 match
base address : 0x01c71e00
- HDCCTV_ISIF . . . . 12 matches
The CCD/CMOS controller's final stage is the line output control, which controls how the input lines are written to SDRAM. The values SRADRH and SRADRL define the starting address where the frame should be written in SDRAM. The value, HSIZE.LNOFST, defines the distance between the beginning of output lines, in bytes. Both the starting address and line offset values are programmed in 32-byte units; i.e.,
either 16 or 32 pixels, depending on the MODESET.PACK8 setting. the HSIZE.ADR_UPDT register bit can be set to decrement the addresses across each line to invert an image horizontally. The register SDOFST can be used to define additional offsets depending on the Field ID and even/odd line numbers.
this provides a means to deinterlace an interlaced, two-field input and also to invert an input image vertically. See Figure 5 for some examples of usage.
SDOFST.FIINV — invert interpretation of the Field ID signal
= Registers =
1. ISIF Registers
'''offset Actonym Regiser Description'''
== Mode Setup register (MODESET) ==
'''ISIF Register 설정 하는 함수'''
- HDCCTV_NTSC . . . . 6 matches
= Interlace & Progressive =
비월주사(Interlace)와 순자주사(Progressive) 방식이다.
== Progressive ==
이 방식을 순차주사(Progressive 또는 Non-interlace)라고 한다.
525p: progressive
또는 interlace를 2:1, progressive 1:1로 표기하는 경우도 있다.
- HDCCTV_VPBE . . . . 2 matches
= VPBE Features =
OSD는 on-screen display로 다양한 포멧의 출력 화면을 구성하는 windows라는 것을 형성해 주는 장치이다. 이렇게 구성된 화면은
- HDCCTV_package . . . . 1 match
APPRO technology를 위한 HDCCTV Package를 Release하는 방법에 대한 설명.
2a, guidata, ICX408asm, mmpcjpeg, release, tools, trunk,uffs
- HDCCTV_조이스틱 . . . . 12 matches
PINMUX가 속한 System module의 BASE ADDRESS는 '''0x01c4 0000''' 이다.
GPIO BASE ADDRESS '''0x01C6 7000'''
13 ~ 17번 레지스터를 1로 설정해서 direction을 INPUT으로 설정 한다.
CSL_SysRegsOvly syscfg = CSL_SYS_0_REGS;
GPIO_set_direction(KEY_GPIO_DOWN, 1);
GPIO_set_direction(KEY_GPIO_LEFT, 1);
GPIO_set_direction(KEY_GPIO_RIGHT, 1);
GPIO_set_direction(KEY_GPIO_SELECT, 1);
GPIO_set_direction(KEY_GPIO_UP, 1);
MOS_timer_create(T0_TOP, 100000, TIMER_CONTINUOUS, key_timer_handler); /* 100ms timer */
if (ring_readable_len(&keys_state.q)) {
ring_read(&keys_state.q, &ch, 1);
return ch;
return ch;
return ch;
- Hello드라이버예제 . . . . 36 matches
1. register_chrdev_region
int register_chrdev_region(dev_t first, unsigned int conut, char *name);
1. alloc_chrdev_region
int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count, char *name);
* '''count'''와 '''name'''는 register_chrdev_region과 같다.
1. unregister_chrdev_region
void unregister_chrdev_region(dev_t first, unsigned int count);
* unregister_chrdev_region 함수는 보통 모듈 정리 함수에서 호출 된다.
int result;
result = register_chrdev_region(dev,1,DRIVERNAME);
result = alloc_chrdev_region(&dev, 0, 1, DRIVERNAME);
if (result < 0)
printk(KERN_ERR "Error : Could not register wskim device");
return -ENODEV;
return 0;
unregister_chrdev_region(dev, 1);
.read = scull_read,
.release = scull_release,
result = cdev_add(&c_dev, dev, 1);
if(result)
- HelpContents . . . . 3 matches
* HelpOnUserPreferences - 위키 사용자로 등록하고, 설정가능한 기본값을 입맛에 맞게 고쳐보세요.
* HelpOnPageCreation - 새 페이지 만드는 방법과 템플리트 이용하기
- HelpForBeginners . . . . 1 match
위키위키에 대하여 좀 더 배우고 싶으신 분은 Wiki:WhyWikiWorks 와 Wiki:WikiNature 를 읽어보시기 바라며, Wiki:WikiWikiWebFaq 와 Wiki:OneMinuteWiki 도 도움이 될 것 입니다.
* RecentChanges: 사람들이 지금 무슨 작업을 하고 있는지
- HelpOnActions . . . . 24 matches
Actions are tools that work on a page or the whole wiki, but unlike macros do not add ''to'' the page content when viewing a page, but work ''on'' that page content. They either produce some output based on page contents (navigational actions like searching) or implement functions that are not related to viewing a page (like deleting or renaming a page).
There is a set of system-defined actions, which includes page editing; you can extend the set of known actions by your own ones. See HelpForDevelopers for more on that.
The following actions are added to the list of user-defined extension actions at the bottom of each page or other position defend on your selected theme. This happens to any mixed-case extension, for other actions (all lower-case) see the list further down this page. Some of these action might not be available for this wiki site.
* `!UploadFile`: upload files to a page, see UploadFile for more details.
* `!DeletePage`: Delete a page, after you confirmed it; deletion means a final backup copy is created and only then the page is deleted, i.e. you can ''revive'' the page later on (as long as the backups are not physically deleted).
* `!LikePages`: list pages whose title starts or ends with the same MeatBall:WikiWord as the current page title.
The following is a list of ''internal'' actions that are used to implement the various menus and links at the top and bottom of pages, or supplement certain macros.
* `diff`: display differences between page revisions.
* `userform`: save user preferences.
* `recall`: display an older revision of a page.
* `rename`: Rename a page, after you confirmed it.
* `fullsearch`: this action is triggered by clicking on the "Go" button of the `FullSearch` macro (Self:?action=fullsearch&value=HelpOnActions).
* `titlesearch`: this action is triggered by clicking on the "Go" button of the `TitleSearch` macro (Self:?action=titlesearch&value=HelpOnActions).
* `highlight`: highlight the search word when you click on a link in a search result list.
* `bookmark`: set bookmark for RecentChanges.
* `rss_rc`: generate a RSS feed of RecentChanges.
for more information about actions See MoniWikiActions
- HelpOnFormatting . . . . 5 matches
return 0;
return 0;
For more information on the possible markup, see HelpOnEditing.
Superscripted text also obtained by encloseing a string into double carets ^^like it^^.
/!\ MoinMoin does superscript texts contain space but, MoniWiki does not. You can superscript a string contains space by encloseing it into double carets.
- HelpOnInstallation . . . . 9 matches
여기서 가장 중요한 것은 {{{$url_prefix}}}를 고치는 것이다. 이 값은 초기에 자동으로 설정되며,
== secure.sh를 실행한다 ==
{{{secure.sh}}}를 실행해서 다른 사람들이 자신의 Wiki 설정을 볼 수 없게,고칠 수 없게 한다.
root사용자라면 tar를 이용해서 간단히 백업할 수 있겠고, 호스팅을 하는 일반 사용자의 경우라면 backup restore를 액션을 이용할 수 있다.
* restore : {{{?action=restore}}}한다. 백업된 tar 파일 목록이 나오고 tar 파일을 선택하면 관리 비번을 물어본다.
- HelpOnLinking . . . . 25 matches
The supported URL schemas are: `http:`, `https:`, `ftp:`, `nntp:`, `news:`, `mailto:`, `telnet:`, and `file:`. Please see HelpOnConfiguration to extend this schemas.
In addition to the standard schemas, there are MoinMoin-specific ones: `wiki:`, `attachment:`. "`wiki:`" indicates an InterWiki link, so `MoniWiki:FrontPage` and `wiki:MoniWiki:FrontPage` are equivalent; you will normally prefer the shorter form, the "`wiki`" scheme becomes important when you use bracketed links, since there you always need a scheme. The other three schemes are related to file attachments and are explained on HelpOnActions/AttachFile.
You can surpress WikiName linking by putting an exclamation mark (''bang'') before the WikiName, i.e. {{{!WikiName}}} `!WikiName`. and you can force linking by putting a question mark before any word, i.e. {{{?Hello}}} `?Hello`.
/!\ MoinMoin does not support force linking feature.
For more information on the possible markup, see HelpOnEditing.
{{{wiki:MeatBall/InterWiki}}} is interpreted as {{{wiki:MeatBall:InterWiki}}} in the MoinMoin. But it confuse users with {{{wiki:WikiPage/SubPage}}} syntax.
* nntp://news.kreonet.re.kr [nntp://news.kreonet.re.kr]
* news://news.kreonet.re.kr [news://news.kreonet.re.kr]
<!> You can disable this feature by using `$use_singlebracket=0;` in the config.php
- HelpOnLists . . . . 8 matches
A numbered list, mixed with bullets:
1. three
Variations of numbered lists:
I. forty-three
A numbered list, mixed with bullets:
1. three
Variations of numbered lists:
I. forty-three
- HelpOnMacros . . . . 18 matches
Macros allow the insertion of system features into normal wiki pages; the only thing that makes those pages special is that they contain macros. If you edit pages like RecentChanges or SystemInfo, you'll see what that means.
For more information on the possible markup, see HelpOnEditing.
||{{{[[GoTo]]}}} || directly go to the page you enter || FindPage ||
||{{{[[PageList(regex)]]}}} || list of pages whose title matches the regex || HelpIndex ||
||{{{[[RecentChanges]]}}} || a list of recently edited pages || RecentChanges ||
||{{{[[SystemInfo]]}}} || info on the wiki, the python interpreter and the host system || SystemInfo ||
||{{{[[PageCount]]}}} || current page count || [[PageCount]] pages ||
||{{{[[UserPreferences]]}}} || display a user preferences dialog || UserPreferences ||
||{{{[[BR]]}}} || insert a line break || 1st line[[BR]]2nd line ||
We don't show examples for all macros here, because that would make this page quite long. Here is is the replacement text for the {{{[[SystemInfo]]}}} macro:
- HelpOnNavigation . . . . 11 matches
The header on each page allows you to go to the FrontPage (home), RecentChanges (recent modifications), TitleIndex (index of all the page titles), WordIndex (index of all the words in the page titles), and HelpContents (main help page).
* [[Icon(moin-show.gif)]] refreshes the current page
* [[Icon(moin-diff.gif)]] shows changes between the current version and the previous version of the page
Clicking on the Page Title link located in the header above will show every page that references this page. A sample use of this back-referencing, inverted-links feature is the categorization of pages, i.e. CategoryHomepage.
- HelpOnPageCreation . . . . 24 matches
== Creating a New Page ==
To create a page, add its WikiName to an existing page and save it. After that, you can click on it on the revised page, since it automatically becomes a hyperlink.
You will then be presented with your new page, which you can edit in the normal way. After you ''first'' saved it, it will be automatically created. Pages normally[[FootNote(Deleting pages can be activated by the wiki administrator (which you'll normally do in intranet sites only).)]] cannot be deleted, so be sure to spell new WikiName''''''s correctly.
On details on how to create and link to subpages, see HelpOnEditing/SubPages.
== Creating and Using Template Pages ==
To create a template, follow the above description and create a page with a name ending in "'''Template'''"[[FootNote(If the wiki administrator changed the default settings, rules for what names are template pages might be different.)]]. This page will then be added to the list of template pages displayed when you try to show a non-existent page. For example, NonExistentHelpPage has a link to HelpTemplate that loads the content of HelpTemplate into the editor box, when you click on that link.
The following variables are substituted when a page is ''finally'' saved. Note that they'll appear unreplaced in the preview!
|| @''''''DATE@ || Current date in the system's format ||
|| @''''''TIME@ || Current date and time in the user's format ||
|| @''''''USER@ || Signature "-- loginname" ||
|| @''''''SIG@ || Dated Signature "-- loginname date time" ||
Note that saving template or form definition pages and using preview does ''not'' expand variables. Other than that, variable expansion is very global and happens anywhere on the page, including code displays, comments, processing instructions and other "special" areas of a page you might think are excluded.
- HelpOnPageDeletion . . . . 2 matches
What this means is that you can get back at deleted pages by using the standard mechanisms. If you enter the page name into the `!GoTo` dialog form, you'll see the usual page creation stuff, but clicking on `!PageInfo` will reveal the old version history, unless the page was purged by WikiMaster out of existence inbetween.
- HelpOnProcessingInstructions . . . . 12 matches
MoinMoin processing instructions have the same semantics as in XML: they control the paths taken when processing a page. Processing instructions are lines that start with a "{{{#}}}" character followed by a keyword and optionally some arguments. Two consecutive hash marks at the start of a line are a comment that won't appear in the processed page.
* {{{#FORMAT}}} ''format-specifier'': defines the input format for this page, known formats are:
* '''StructuredText''' ( <!> not implemented)
* {{{#REDIRECT}}} ''pagename'': redirect to a different page (see MeatBall:PageRedirect'''''')
All PIs must appear at the very start of a page. An exception are comment PIs, those may appear within a wiki page (but obviously not in pages using other formats).
* {{{#redirect}}} ''url''
See also MoniWikiProcessors for more complete supported {{{#FORMAT}}} list.
- HelpOnSmileys . . . . 3 matches
To insert a smiley, just type in your favourite from the list below. They're only converted to an icon though if they are ''surrounded by whitespace''.
For more information on the possible markup, see HelpOnEditing.
- HelpOnSpellCheck . . . . 9 matches
* the "dict" directory in the MoinMoin package directory
If the "dbhash" module is available with your Python installation, the files in "dict" are read only ''once'' and stored in a hash table. This speeds up the spell checking process because then the number of words in the ''checked page'' determines the time needed for the checking, ''not'' the number of words in the dictionary (with 250000 words, some hundred milliseconds instead of several seconds).
BTW, a UNIX machine normally comes with at least one words file; to use those, create a symlink within the dict directory, like so:
On some systems, the words file is found in "/usr/share/dict/words" instead.
- HelpOnTables . . . . 19 matches
To create a table, you start and end a line using the table marker "`||`". Between those start and end markers, you can create any number of cells by separating them with "`||`". To get a cell that spans several columns, you start that cell with more than one cell marker. Adjacent lines of the same indent level containing table markup are combined into one table.
For more information on the possible markup, see HelpOnEditing.
Apart from the option to repeat cell markers to get columns spanning several other columns, you can directly set many HTML table attributes. Any attributes have to be placed between angle brackets {{{<...>}}} directly after the cell marker.
In addition to these, you can add some of the traditional, more long-winded HTML attributes (note that only certain HTML attributes are allowed). By specifying attributes this way, it is also possible to set properties of the table rows and of the table itself, especially you can set the table width using {{{||<tablewidth="100%">...||}}} in the very first row of your table, and the color of a full row by {{{||<rowbgcolor="#FFFFE0">...||}}} in the first cell of a row. As you can see, you have to prefix the name of the HTML attribute with {{{table}}} or {{{row}}}.
/!\ rowbgcolor are not supported by the MoniWiki.
MoniWiki support simple alignment feature like as the PmWiki
||left-aligned || centered || right-aligned||
more cleaner representation is following: "space" character has special meaning.
||left-aligned<space>||<space>centered<space>||<space>right-aligned||
||left-aligned || centered || right-aligned||
- HelpOnUpdating . . . . 28 matches
MoniWiki는 기본적으로 backup과 restore 액션을 지원하므로 다른 사이트로 이전하는 것을 쉽게 할 수 있으며, rcs를 설치하지 않은 위키에 대해서도 정기적은 backup만으로 자신의 위키 데이타를 비교적 안전하게 보존할 방법을 제공합니다.
After upgrading, your existing wiki should continue to work (the goal is to have sane defaults for any new config values, but then there can be bugs). Check that this is indeed the case, and then take the time to check the CHANGES file in your distribution. Often, new features will be invisible unless your extend your configuration in "config.php" or "config.php.default".
* somewhat dangerous macros that won't be activated by default, because they're not advisable for public wikis. You need to explicitely activate those by adding an {{{allowed_actions}}} list to the config. Currently, protected actions {{{DeletePage}}} are always needs 'admin password'.
* email notification features: you need to provide {{{$notify=1;}}}.
Images:: On every update, you should copy the content of the "imgs" directory
to the image directory visible to your web server, normally a new release has some new GIFs/PNGs in it.
your existing directory. Then check whether you miss any new system pages.
InterWiki:: Check that you have the newest entries in the "data/intermap.txt" file; if you have "private" entries, add them to the distribution file, then copy the result over your current file. You can point "shared_intermap" at a file loaded ''before'' the file in your data directory, which takes precedence (i.e. have global entries in the shared one, private entries the data dir file).
To make UserPreferences work, you should "mkdir -m707 user" in your
"data" directory.
Depending on your installation, more tightly secured permissions are a good idea.
Ideally, you assign all files in the data directory to the user the web server
The following sections provide information pertaining to specific versions of the software; if you jump several versions, read all the sections applying to your situation.
- HelpOnUserPreferences . . . . 20 matches
#keywords preferences,user
User``Preferences에서 설정하실 수 있는 것으로는 다음과 같은 것이 있습니다.:
* '''[[GetText(Password repeat)]]''': 초기 사용자 등록시에 나타납니다. 바로 위에서 입력했던 비밀번호를 확인하는 단계로, 조금 전에 넣어주었던 비밀번호를 그대로 집어넣어 주시면 됩니다.
* '''[[GetText(Preferred theme)]]''': 원하는 테마를 고르실 수 있습니다.
* '''[[GetText(Preferred language)]]''': The default is taken from your browser setting. It is advisable to set this to a specific language anyway, since then you get notification mails in your native tongue, too.
* '''[[GetText(Subscribed wiki pages (one regex per line))]]''': Enter '''`.*`''' to receive an email when any page in this Wiki changes (''not recommended'' for busy wikis), or enter the names of any individual pages, one per line. If you are familiar with '''regular expressions''', you may enter a regex expression to match the pages names of interest (.* matches all page names). With the '''[[GetText(Show icon toolbar)]]''' option checked, subscription to individual pages is made easy by clicking the envelope icon when viewing a page of interest.
/!\ This is an optional feature that only works when email support has enabled for this wiki, see HelpOnConfiguration/EmailSupport for details.
- I2C . . . . 8 matches
* 필요에 따라 receiver & transmitter로 동작
* receiver : 버스로부터 데이터를 받는 장치
* master가 보낸 address를 각 장치의 고유 어드레스와 비교한다.
* address가 일치한 장치는 acknowledge 신호 구간에서 데이터를 low로 유지해 응답을 보낸다.
* 모든 작업이 끝나면 마스터는 stop condition을 발생하고 버스를 release한다.
* 9번째 사이클 동안 receiver는 데이터 선을 low로 유지해서 acknowledge를 표시한다.
i2c_ack = SDA_READ; // generate ack bit SD_R
if(i2c_ack==0) { return ACK_OK; }
else { return ACK_ERROR; }
- IPIPE . . . . 5 matches
Image Signal Processing(IPIPE)는 CCD/CMOS에서 YCbCr-4:2:2, YCbCr-4:2:0 포멧의 이미지 데이터를 뽑아내는 Programmable hardware 모듈이다.
IPIPE는 설정에 따라 resize-only mode로 동작해서 IPIPE내의 다른 모듈의 동작 없이 resized 된 YCbCr-4:2:2, YCbCr-4:2:0 포멧 이미지를 뽑아 낼 수 있다.
1. IPIPE는 YCbCr-422 데이터를 edge enhance, c hroma suppression와 resize를 해서 YCbCr(or RGB) 데이터로 SDRAM에 저장한다.
- IPNC . . . . 1 match
1. [:20100428_DM365_Boot_cfg_reg DM365 부팅 방법 설정하기]
- IPNC_EVM3 . . . . 12 matches
1. 커널 feature에 따른 컴파일 설정 변경
//MUX_CFG("GPIO33", 4, 12, 3, 0, 0) // VRESET(TVP5150a_RESET)
MUX_CFG("GPIO48", 4, 22, 1, 0, 0) // RESET
MUX_CFG("GPIO29", 4, 4, 3, 0, 0) // PB_RESET
//MUX_CFG("GPIO33", 4, 12, 3, 0, 0) // VRESET(TVP5150a_RESET)
MUX_CFG("GPIO48", 4, 22, 1, 0, 0) // RESET
davinci_cfg_reg(DM365_GPIO91, PINMUX_RESV);
davinci_cfg_reg(DM365_GPIO92, PINMUX_RESV);
gpio_direction_output(91,0); // set to master mode
gpio_direction_output(92,0); // active low
davinci_cfg_reg(DM365_GPIO31, PINMUX_RESV); //IMX_XCLR (reset)
davinci_cfg_reg(DM365_GPIO33, PINMUX_RESV); //IMX_DMODE (master or slave mode)
gpio_direction_output(31,0); // active low
gpio_direction_output(33,0); // set to master mode
static struct resource dm3xx_spi_resources[] = {
.flags = IORESOURCE_MEM,
.flags = IORESOURCE_IRQ,
- IPNC_filesystem . . . . 3 matches
DM365 EVM:> setenv bootcmd 'nand read 0x82000000 0x6a0000 0xa00000; nboot 0x80700000 0 0x3a0000; bootm 0x80700000'
serverip와 ipaddress를 설정한 후
serverip와 ipaddress를 설정한 후
- Inception_GoogLeNet . . . . 25 matches
적은 weight로 비슷한 효과를 내어주는 네트워크 구조를 제안하는 것으로 '''Going Deep with Convolutions (Szegedy et al.)'''[* Christian Szegedy et al., '''Going Deeper with Convolutions''',CVPR, 2015, <https://arxiv.org/abs/1409.4842>] 논문에서 Inception model이라는 것을 제안했고 이를 바탕으로 GoogLeNet를 구현하여 ImageNet Large-Scale Visual Recognition Challenge 2014(ILSVRC14)에서 좋은 성적을 보였다.[* 강병규, (17 Jan 2018), <https://kangbk0120.github.io/articles/2018-01/inception-googlenet-review>] 이후 Szegedy et al. (CVPR, 2016)[* Szegedy et al., '''Rethinking the inception architecture for computer vision''', CVPR, 2016, <https://arxiv.org/abs/1512.00567>]을 통해서 Inception V1를 개량한 Inception V2를 거쳐 GoogLeNet을 앞도하는 Inception V3를 만들었다. 3x3 보다 큰 필터는 그보다 더 작은 필터로 효과적으로 표현하는 것을 제안했고 심지어 7x7 필터는 1x7과 7x1 컨볼류션 레이어로 대처하는 것을 제안했다. [* JUNSIK HWANG, (12, Sep, 2017), Inception V3: Transfer Learning, <https://jsideas.net/Inception_v3_transfer_learning/>][* Nicolò Valigi, (10 Oct 2016), Short history of the Inception deep learning architecture, <https://nicolovaligi.com/history-inception-deep-learning-architecture.html>]
저자는 NIN 라는 새로운 모델이 Convolutional layer가 만들어 내는 feature map의 성능을 향상 시킨다고 말하고 있다.
아래 그림에서 처럼 기존의 Convolutional layer는 feature map을 만들기 위해서 선형 필터와 비선형 활성화 함수를 통해서 만들어 내지만, 제안한 NIN 모델에서는 더 복잡한 구조로 마이크로 신경망을 구축해서 feature map을 만들 수 있습니다. NIN에서 제안한 마이크로 신경망은 CNN의 Filter와 같이 지역적인 정보를 이용하여 Stride만큼 이동하면서 feature map을 구성하고, 이를 Mlpconv layer라고 한다.
MLP를 이용할때의 장점은 Filter를 사용할 때보다 '''Non-linear한 Activation function을 더 많이 추가할 수 있어서 Non-linear한 성절로 인해 더 좋은 Feature를 추출'''할 수 있다는 점이다. 또한, __1x1 Convoltution을 통해서 Feature map 개수를 줄임으로써 '''Parameter의 수를 줄일 수''' 있다.__
NIN에서는 Mlpconv를 통해서 충분히 효과적인 Feature를 추출했고, Average pooling만으로 Classifier 역할을 할 수 있다고 주장하고 있다. 또한 이를 통해 Overfitting과 연산량을 줄이는 효과가 있다.
보통 Convolution Neural Network에서는 Convolution 연산을 통해서 Feature map의 Width(W)와 Height(H)의 크기는 줄이고 Channel(C)는 늘리는 형태를 취한다. (이미지는 압축하고 다양한 특성을 추출한다고 생각할 수 있다.) 이 때, 1x1 Convolution 연산을 선행하여 계산하려는 C의 갯수를 줄일 수 있다. 1x1 Convolution 연산은 Channel 단위로 Fully Connected 연산을 수행하여 차원을 압축하는 효과를 얻을 수 있고 다음 연산에 적용되는 Channel을 줄여 결과적으로 학습해야할 Parameter의 수를 줄일 수 있다.
Inception 모듈에서는 feature를 효율적으로 추출하기 위해 1x1, 3x3, 5x5의 Convolution 연산을 각각 수행합니다. 3x3의 Max pooling 또한 수행하는데, 입력과 출력의 H, W가 같아야하므로 Pooling 연산에서는 드물게 Padding을 추가해줍니다. 결과적으로 feature 추출 등의 과정은 최대한 sparse함을 유지하고자 했고, 행렬 연산 자체는 이들을 합쳐 최대한 dense하게 만들고자 했습니다. 그러나 위에서 언급했듯 이렇게 되면 연산량이 너무 많아지게 됩니다.^^[2]^^
이를 해결하기 위해서 논문은 1x1 Conv를 사용해 dimension reduction을 수행합니다.
* 노란색 블록은 학습시에만 사용하고 prediction 단계에서는 제거함.
== Reducing resolutions ==
기존에 해상도 (Resolution, Grid size)를 줄이는 방법은 Convolution 시 Stride를 1보다 큰 값으로 두거나 Pooling을 사용하는 것이었다. 그렇다면 다음 두 가지 방법 중 어떤 방법이 더 효과적인 방법일까?
attachment:Reducing.png?width=500px&align=center
왼쪽 방식은 Pooling으로 크기를 먼저 줄이고, Inception을 적용하여 Feature map을 얻는다. 연산량 관점에서는 효율적이지만 Pooling으로 인해 기존 Feature map에 숨어 있는 정보가 사라질 수 있기 때문에 최적이라고 하기는 어렵다.
반면, 오른쪽 방식은 Inception을 먼저 적용하여 Feature map을 생성한 후 Pooling으로 Feautre map의 크기를 줄이는 방법이다. 당연히 연산량은 약 4배 늘어나지만 줄이지 않은 상태에서 Feature를 추출했기 때문에 숨은 Feature를 더 잘 찾아낼 수 있게 된다.
attachment:Reducing2.png?width=500px&align=center
먼저, 우측 이미지처럼 Convolution과 Pooling의 Stride를 2로 변경 하여 Representation bottleneck이 없는 구조를 제시했다. 그리고 좌측 이미지처럼 5x5 Convolution을 3x3 Convolution 2개로 Factorization 하여 연산량을 줄인다. 결론적으로 구조 변경으로 효율성과 연산량 절감을 모두 얻을 수 있었다.
* 마지막 Fully Connected layer에 Batch Normlization(BN)[* Sergey Ioffe, Christian Szegedy, '''Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift''', PMLR, 2015, https://arxiv.org/pdf/1502.03167v3.pdf] 적용
= Inception v4 & Inception-resnet =
[* Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alexander A. Alemi, '''Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning''', AAAI 2017.]
- InterMapIcon . . . . 2 matches
#redirect InterWikiIcons
- InterWiki . . . . 6 matches
* [http://seattlewireless.net/ SeattleWireless]
MoinMoin marks the InterWiki links in a way that works for the MeatBall:ColourBlind and also is MeatBall:LynxFriendly by using a little icon with an ALT attribute. If you hover above the icon in a graphical browser, you'll see to which Wiki it refers. If the icon has a border, that indicates that you used an illegal or unknown BadBadBad:InterWiki name (see the list above for valid ones). BTW, the reasoning behind the icon used is based on the idea that a Wiki:WikiWikiWeb is created by a team effort of several people.
Can wikis be part of the Wiki:CyberInfrastructure for ConnectionBuildingNetworks? -- JonathanSmith [[Date(2003-06-28T19:17:02)]]
- InterWikiIcons . . . . 23 matches
The InterWiki Icon is the cute, little picture that appears in front of a link instead of the prefix established by InterWiki. An icon exists for some, but not all InterMap references.
You can set InterWikiIcon to InterMap entries by putting an icon file of name lowercased InterWiki entry name, e.g; meatball for MeatBall, under imgs directory.
* JoiWiki:SocialSoftware
InterWikiIcon also used in the Unreal:Unreal Wiki.
Only lovel-16.png included, while you WkPark arguing to rename it LovolNet. :P
OK. It is just renamed as lovolnet-16.png ;)
What about copy gentoo-16.png to gentookorea-16.png for InterMap entry 'GentooKorea'?
Any recommendations on what software to use to shrink an image to appropriate size?
* Freefeel - http://freefeel.org/upload/freefeelz16.png (as recommended at Freefeel:FreeFeelZone 16x15x256) or http://puzzlet.org/imgs/freefeel-16-new.png (16x16x16)
* NoSmoke - http://puzzlet.org/imgs/nosmoke-16.png (adjusted color-resolution down to 16col: 16x16x16)
For more information, check http://puzzlet.org/plots/InterWikiIcons
- Intrinsic . . . . 2 matches
1. http://blog.naver.com/acwboy?Redirect=Log&logNo=50080098355
1. [http://blog.naver.com/onethecihan?Redirect=Log&logNo=30129939172 조언2]
- IsbnMap . . . . 2 matches
모니위키 1.1.3에서는 이와 관련된 버그가 고쳐졌고, 알라딘 같은 경우는 확장자가 jpg/gif인 경우를 자동으로 검출합니다. 이 경우 php.ini에 {{{'allow_url_fopen=1}}}같은 식으로 설정이 되어있어야 합니다. 또, config.php에 {{{$isbn_img_download=1;}}} 와 같이 옵션을 넣으면 이미지를 다운로드할 수도 있게 하여, 일부 referer를 검사하여 이미지를 보이지 않게 하는 사이트에서도 활용하기쉽게 하였습니다. -- WkPark [[DateTime(2009-01-13T07:14:27)]]
- KernelAPI . . . . 1 match
Used to allocate memory on behalf of the user. It may sleep, and is a low-priority request.
- LMA_Levenberg_Marquardt . . . . 18 matches
Levenberg–Marquardt 방법은 비선형 최소 자승(nonlinear least squares) 문제를 푸는 가장 대표적인 방법입니다.
* 최소자승법 이해와 다양한 활용예 (Least Square Method)
관측값을 \((x_i, y_i), i=1,...,n,\)모델 파라미터를 \(p = ( p_1, p_2, ..., p_m)\) , 모델을 y = f(x, p), 관측값과 모델과의 오차(residual)를 \(r_i\)라 할때, 오차 제곱합이 최소화 되도록 모델 파라미터 p를 정하는 방법을 최소자승법(least square method)이라 한다.
만일 관측값의 신뢰도(중요도)가 서로 다를 경우에는 각각의 오차 제곱에 가중치 \(w_i\)를 곱해서 최소화시키는 방법을 사용하는데 이러한 문제를 가중최소자승(weighted least squares, WLS)문제라 부른다 (통계 쪽에서는 보통 \(w_i = 1/\sigma_i^2\)로 잡음. 단, \(\sigma_i^2\)은 \(y_i\)의 분산).
☞ 최소자승 문제에 있어서 모델 f(x,p)가 모델 파라미터에 대해 선형인 경우 선형 최소자승 문제(linear least squares problem)라 부르고 그렇지 않은 경우 비선형 최소자승문제(non-linear least squares problem)라 부른다. 예를 들어 \(f(x,p) = p_1*sin x + p_2*cos x\)라면 f(x,p) 자체는 비선형 함수이지만 파라미터 p = (p1,p2)에 대해서는 선형이므로 f(x,p)에 대한 최소자승 문제는 선형(linear) 문제가 된다.
이제 gradient descent 방법을 앞서 설명한 최소자승 문제에 적용해 보자. 선형 최소자승 문제의 경우에는 gradient descent 방법과 같은 근사적 방법을 사용할 필요가 없이 직접 해를 구할 수 있으므로 여기서는 비선형 최소자승 문제에 한해 생각한다. 관측값을 \((x_i, y_i), i=1, \cdots,n\), 모델 파라미터를 \(P = ( p_1, p_2, \cdots, p_m) \), 모델을 \(y = f(x, P)\), 오차(residual)를 \(r(x,P) = y - f(x,P)\)라 하면 최소화시키고자 하는 목적함수는 다음과 같다.
참고로 비선형 가중최소자승(weighted least squares) 문제의 경우에 gradient descent 해는 다음 수식에 의해 구해진다.
앞서와 같이 관측값을 \((x_i, y_i), i=1,...,n\), 모델 파라미터를 \(p = ( p_1, p_2, ..., p_m)\) , 모델을 \(y = f(x, p)\), 오차(residual)를 \(r_i(p) = y_i - f(x_i,p)\)라 하고 최소화시키고자 하는 목적함수를 E(p)라 하자.
참고로, 비선형 가중최소자승(weighted least squares) 문제의 경우에 가우스-뉴턴 해는 다음 수식에 의해 구해진다.
반면에 가우스-뉴턴법은 함수의 그레디언트와 곡률(curvature)을 같이 고려하면서 해를 찾아가는 방식이다(식에서 \(J_r^TJ_r\)는 이차미분인 Hessian의 의미를 가지며(Hessian에 대한 근사행렬) 함수의 곡률을 나타낸다). 즉, 이동할 step size를 (그레디언트의 크기)/(곡률의 크기)로 결정하는 방식인데, 기울기(그레디언트)가 크더라도 곡률이 크면(기울기의 변화가 급격하면) 조금만 이동하고, 곡률이 작다면(기울기의 변화가 거의 없으면) 좀더 크게 이동함으로써 극소점을 찾아가는 방식이다. 따라서, 가우스-뉴턴법은 gradient descent 방법보다 훨씬 정확하고 빠르게 해를 찾을 수 있다는 장점을 갖는다. 그런데, 가우스-뉴턴법을 살펴보면 계산 과정에 \(J_r^TJ_r\)의 역행렬 계산을 필요로 한다. 따라서 \(J_r^TJ_r\)가 singular 행렬(역행렬이 존재하지 않는 행렬)에 근접한 경우에는 계산된 역행렬이 수치적으로 불안정하여 해가 발산할 수 있는 문제점이 있다.
Levenberg-Marquardt 방법은 기존의 Levenberg의 방법을 1963년에 Marquardt가 좀더 개선시킨 방법을 일컫는다. 원래의 Levenberg 방법은 μ가 큰 경우에 step size가 1/μ인 gradient descent 방법과 유사해짐은 앞서 설명한 바 있다. 하지만 이 경우 수렴 속도가 느린 문제점이 있다. Marquardt는 이러한 문제를 보완하기 위해 항등행렬 I 대신에 \(diag(J_r^TJ_r)\)[[footnote(diag(A)는 A의 대각원소는 유지하고 나머지 원소들의 값을 0으로 만든 대각행렬을 나타냄)]] 더해주는 방식을 제안하였다. \((J_r^TJ_r)\)은 원래 헤시안(Hessian)에 대한 근사행렬의 의미를 갖기 때문에 \(J_r^TJ_r\)의 대각 원소들은 각 파라미터 성분(pi)에 대한 곡률(curvature)를 나타낸다. 즉, Levenberg-Marquardt 방법은 가우스-뉴턴법의 singular 문제를 피하면서도 μ가 큰 경우에도 곡률(curvature)을 반영하여 효과적으로 해를 찾을 수 있도록 한 방법이다.
☞ Levenberg-Marquardt 방법에서 damping factor는 우리말의 '마중물'과 비슷한 의미가 아닐까 추측해 봅니다. 요즘은 보기 힘들지만 수도가 없던 예전에는 지하수 물을 끌어올리기 위해 펌프질(작두질?)을 했었는데 이 때 펌프에 미리 붓는 한 바가지의 물이 마중물입니다. 차이가 있다면 마중물은 한 번만 주면 되지만 damping은 지속적으로 해 줘야 한다는 점이 차이일 것 같네요. 어쨌든, Levenberg-Marquardt 방법은 가우스-뉴턴법의 damped version으로서 다른 말로 damped least-squares (DLS) 방법이라고도 불립니다.
관측값을 \((x_i, y_i), i=1,...,n\), 모델 파라미터를 \(p = ( p_1, p_2, ..., p_m) \), 모델을 \(y = f(x, p)\), 오차(residual)를 \(r_i(p) = y_i - f(x_i,p)\)라 하고 최소화시키고자 하는 목적함수를 \(E(p) = /sum r_i(p)^2\)라 하자. E(p)를 최소화시키는 해는 모델 파라미터 p에 대한 초기 추정값 \(p^{(0)}=(p_1^{(0)},...,p_m^{(0)})\)에서 시작하여 p를 다음 수식에 의해 반복적으로 갱신함으로써 얻어진다.
만일 목적함수가 \(E(p) = \sum w_i*r_i(p)^2\) 형태인 경우 즉, 가중최소자승(weighted least squares) 문제의 경우에는 업데이트 식이 다음과 같다.
1. [:http://users.ics.forth.gr/~lourakis/levmar/ levmar: Levenberg-Marquardt nonlinear least squares algorithms in C/C++]
- LRP_workPlan . . . . 1 match
[:layer_wise_relevance_propatation Layer-wise Relevance Propagation 이론 정리]
https://giorgiomorales.github.io/Layer-wise-Relevance-Propagation-in-Pytorch/ <-- Pytouch LRP
- LVC_2016_Fall_Glasgow . . . . 1 match
O2 Public Plan에 대한 presentaion이 시작됐다.
- LaTex_guide . . . . 10 matches
texlive-fonts-recommended texlive-fonts-recommended-doc
texlive-latex-extra texlive-latex-extra-doc texlive-latex-recommended
texlive-latex-recommended-doc
* O : options. 여기서 create symlinks to standard directories를 선택할 수 있다. 이것을 선택하면 texbin 폴더를 만들고 이것을 PATH에 포함하는 과정을 생략할 수 있다. 시스템 관리자라면 이 옵션을 선택할 수 있다. (다만 이것을 선택한 후에 패키지 관리자가 설치해주는 texlive와 충돌을 일으킬 가능성이 없는 것은 아니다.) 이후의 설명은 이 옵션을 선택하지 않은 경우를 전제로 한다.
$ sudo tlmgr --repository=http://ftp.ktug.or.kr/KTUG/texlive/2011
$ svn checkout svn+ssh://210.119.59.82/masterdata/svn/techreports/fpgafft/trunk
저장소 (repository)의 파일목록보기는 다음과 같이..
$ svn ls svn+ssh://210.119.59.82/masterdata/svn/techreports/fpgafft/trunk
- LaTex_syntax . . . . 13 matches
\begin{figure}[!h]
\caption{PCI Express Device Layers}
\end{figure}
\begin{figure}t: 그림의 시작.
h (here)는 현재 위치에,
간혹 figure 말고 figure*를 쓰는 경우가 있는데 이때 그림은 two column wide로
이 경우 figure 대신 figure*를 사용하여 그림을 두 column에 걸쳐 크게 넣는다.
\end{figure}: 그림의 끝
\begin{Verbatim}[fontfamily=cmtt,frame=single,baselinestretch=1,fontsize=\normalsize,numbers=left]
return 0;
sudo add-apt-repository ppa:q-quark/equalx
- Ligo_clientLigo-client설치 . . . . 7 matches
이렇게 하면 apt source list에 LIGO Client에 대한 정보가 업데이트 된다. 하지만 실제 실행해보니 Public key 문제로 정상적이 종료가 안 되는 경우가 있는데 이런 경우는 아래와 같이 Key값을 얻어오면 해결 된다. [* http://askubuntu.com/questions/20725/gpg-error-the-following-signatures-couldnt-be-verified-because-the-public-key]
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 문제가 된 키값
Creating proxy .................................... Done
alias gsissh='if [ ! -e /tmp/x509up_u`id -u` ] || [ "0" -ne `grid-proxy-info |egrep timeleft |egrep \ 0\:00\:00 |wc -l` ]; then ligo-proxy-init whansun.kim; fi; gsissh'
deb http://software.ligo.org/lscsoft/debian wheezy contrib
deb-src http://software.ligo.org/lscsoft/debian wheezy contrib
- Linux_device_DMA . . . . 10 matches
DMA(Direct Memory Access)
프로세서로 부터 로컬 버스 제어권을 넘겨 받아 DMAC(Direct Memory Access Controller)가 데이터 전송을 하게 되고 데이터 전송이 끝나면
반대로 디바이스 파일이 닫혀서 더 이상 DMA 채널을 사용하지 않는다면 채널 소유권을 반환해야 한며, release() 함수에서 처리한다. 소유권의 등록과 반환은 다음 함수를 이용해 처리한다.
int request_dma(unsigned int dmanr, const char * devic_id);
void free_dma(unsigned int dmanr);
request_dma()함수는 DMA 채널에 대한 소유권을 요구하는 함수다.
DMA를 사용하는 디바이스 드라이버는 request_dma() 함수를 이용해 소유권 등록을 하고 DMA 처리를 위한 버퍼와 DMA 처리를 종료시킬 때 발생하는 인터럽트를 처리해야 한다.
request_irg(XXX_IRQ, dma_interrupt, ...); //인터럽트 등록
request_dma(XXX_DMA_CHANNEL, XXX_DEV_NAME); //dma 등록록
return 0;
- Linux_device_Dynamic_DMA_mapping . . . . 212 matches
''Most of the 64bit platforms have special hardware that translates bus addresses (DMA addresses) to physical addresses similarly to how page''
''tables and/or TLB translate virtual addresses to physical addresses.''
''This is needed so that e.g. PCI devices can access with a Single Address Cycle (32bit DMA address) any page in the 64bit physical address space.''
대부분의 64bit 플랫폼은 bus address(DMA address)나 virtual address를 물리 주소로 변경하는 특별한 장치(H/W)를 갖고 있다. '''MMU''' (memory management unit)
이를 통해 PCI 장치는 64bit 물리 주소의 어느 곳이든 32bit DMA address로 접근 할 수 있다.
''Previously in Linux those 64bit platforms had to set artificial limits on the maximum RAM size in the system, so that the virt_to_bus() static scheme''
''works (the DMA address translation tables were simply filled on bootup to map each bus address to the physical page __pa(bus_to_virt())).''
''So that Linux can use the dynamic DMA mapping, it needs some help from the drivers, namely it has to take into account that DMA addresses should be''
''mapped only for the time they are actually used and unmapped after the DMA transfer.''
드라이버의 도움을 통해서 리눅스에서 dynamic DMA mapping을 사용 할 수 있다. DMA address는 실제 사용하는 순간에 연결 되고 사용이 끝나고 해제 되도록 하자.
''The following API will work of course even on platforms where no such hardware exists, see e.g. include/asm-i386/pci.h for how it is implemented on top of the virt_to_bus interface.''
''First of all, you should make sure''
''is in your driver. This file will obtain for you the definition of the dma_addr_t type which should be used everywhere you hold a DMA (bus) address returned from the DMA mapping functions.''
''The first piece of information you must know is what kernel memory can be used with the DMA mapping facilitites. There has been an unwritten set of rules regarding this, and this text is an attempt to finally write them down.''
''If you acquired your memory via the page allocator (i.e. __get_free_page*()) or the generic memory allocators (i.e. kmalloc() or kmem_cache_alloc()) then you may DMA to/from that memory using the addresses returned from those routines.''
''This means specifically that you may not use the memory/addresses returned from vmalloc() for DMA. It is possible to DMA to the _underlying_ memory mapped into a vmalloc() area, but this requires walking page tables to get the physical addresses, and then translating each of those pages back to a kernel address using
''This rule also means that you may not use kernel image addresses (ie. items in the kernel's data/text/bss segment, or your driver's)
nor may you use kernel stack addresses for DMA. Both of these items might be mapped somewhere entirely different than the rest of physical memory.''
''What about block I/O and networking buffers? The block I/O and networking subsystems make sure that the buffers they use are valid for you to DMA from/to.''
== DMA addressing limitations ==
- Linux_device_module_basic . . . . 137 matches
return 0;
'''remod test'''
* read, write, poll, fsync, readv, writev can be called
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*release) (struct inode *, struct file *);
ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
return 0;
int test_release(struct inode *inode, struct file *filp)
return 0;
ssize_t test_read(struct file *filp, const char *buf, size_t count, loff_t *f_pos)
return 0;
return 0;
return 0;
.read = test_read,
.release = test_release,
int result;
result = register_chrdev(DRVMAJOR, DRVNAME, &test_fops);
- Linux_gtk_intro . . . . 1 match
ubuntu 에는 Software center라고 하는 패키지 관리툴을 제공하는데 glade로 검색하면
- Linux_gui_installation . . . . 7 matches
/etc/resolv.conf
$sudo /etc/init.d/networking restart
gnome-screensaver
firefox
[root@localhost] apt-get install gnome-app-install update-manager restricted-manager
xrdb $HOME/.Xresources
xsetroot -solid grey
- Linux_iconv파일의언어설정변경Iconv설명 . . . . 2 matches
$ dpkg-reconfigure locales
- Linux_kernel_source . . . . 1 match
이들을 지우려면 'apt-get autoremove'를 사용하십시오.
- Linux_openshot리눅스동영상편집프로그램OpenShot . . . . 2 matches
sudo add-apt-repository ppa:jonoomph/openshot-edge
http://www.cyberciti.biz/faq/top5-linux-video-editing-system-software/
- Linux_pci_driver . . . . 16 matches
아래의 예는 three values (bus, device, and function)로 추정 된다.
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11)
00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02)
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon XPRESS 200M 5955 (PCIE)
02:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
02:05.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
02:05.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
02:05.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
02:05.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
02:09.0 Network controller: RaLink RT2561/RT61 rev B 802.11g
wskim@wskim-MS-1013:/proc/bus/pci$ tree /sys/bus/pci/devices/
= Configuration Registers and Initialization =
- Linux_pci_driver_example . . . . 10 matches
pci_module_init() 함수는 pci_register_driver() 함수로 변경 되었다.
* '''void (*remove) (struct pci_dev *dev);'''
* '''int (*resume) (struct pci_dev *dev);'''
.remove = remove,
이 구조체를 등록하기 위해서 pci_register_driver()함수를 이용하는데 전통적으로 init()함수에서 호출 한다.
return pci_register_driver(&pci_driver);
반대로 등록을 해지하기 위해서는 pci_unregister_driver() 함수를 이용한다.
pci_unregister_driver(&pci_driver);
- Linux_system_syslog.conf . . . . 8 matches
사용하면서 좋았던 기능 중에서 tail과 grep의 조합으로 원하는 로그만 출력해서 볼 수 있는 기능을 소개 한다
'''tail /var/log/kern.log | grep xbmd'''
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
# provides UDP syslog reception
# provides TCP syslog reception
#### GLOBAL DIRECTIVES ####
# To enable high precision timestamps, comment out the following line.
$RepeatedMsgReduction on
- Linux_ulimit_commandUlimit명령어 . . . . 30 matches
#Where:
# - core - limits the core file size (KB)
# - memlock - max locked-in-memory address space (KB)
# - rss - max resident set size (KB)
# - as - address space limit (KB)
# - rtprio - max realtime priority
이 글은 http://wiki.kldp.org/KoreanDoc/Ulimit-KLDP (문태준님 작성, 2000년 2월 24일(목))을 토대로 필자가 나름 내용을 추가하여 작성하는 글이다.
core file size (blocks, -c) 0
real-time priority (-r) 0
core file size (blocks, -c) unlimited
real-time priority (-r) 0
core file size -> 코어파일의 최대크기
max memory size (kbytes, -m) unlimited -> resident set size의 최대 크기(메모리 최대크기)
real-time priority (-r) 0
Return the limit on the size of a file, in units of 512 bytes.
3 (Not implemented for Linux.) Return the maximum possible
address of the data segment.
4 (Implemented but no symbolic constant provided.) Return the
RETURN VALUE
On success, ulimit() returns a non-negative value. On error, -1 is
- Linux_vimrc . . . . 3 matches
set autoread " 작업 중인 파일 외부에서 변경됬을 경우 자동으로 불러옴
au BufReadPost *
set fileencoding=korea
1. http://remfight.tistory.com/9
- List_license라이센스리스트 . . . . 9 matches
All softwares which are serviced here are not allowed for "None-KAIST Group Member"
(Korean Only) Win XP Professional K- VQWKR-J7YWW-MH784-RPVRJ-7XC9Q
(Korean Only) Win XP Professional KN- JB8JT-RTRYD-HT66P-V9MK7-RJRQT
◈ Visio Premium 2010 YR3D6-PMBJP-Y446V-BPHF3-MBKCP
127.0.0.1 ereg.adobe.com
127.0.0.1 ereg.wip3.adobe.com
- LocalKeywords . . . . 30 matches
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
preferences WymSkPhN
- LocalKeywords/CommonWords . . . . 2 matches
preferences
- LocalKeywords/CommonWordsKo . . . . 4 matches
preferences
preferences'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
WymSkPhN'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
test'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
belonging'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
01*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
01'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
calendar'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
- MCMC_index . . . . 2 matches
Bayesian Inference 의 방법으로 MCMC[* 원문 <http://twiecki.github.io/blog/2015/11/10/mcmc-sampling/#Setting-up-the-problem>][* 번역 <http://mlduck.tistory.com/3>]를 사용할 수 있는데 이 문서에서는 그 방법에 대한 전반적인 내용을 설명한다.
위에서 단일 모델의 경우의 베이지안 모델을 봤다면 이 번엔 각 모델에 가설 \(\def \hypo {\mathcal H} \hypo \)를 포함해서 생각해보자.[* https://link.aps.org/doi/10.1103/PhysRevD.91.042003]
\theta_i \stackrel{iid}{\sim} P(\theta|x)
- MIB . . . . 34 matches
1. SMI(Structure Management Information)으로 표현
attachment:mibtree.png?'''[[br]]그림 1.''' ''MIB Tree Structure''
attachment:mibtreeaccess.png?'''[[br]]그림 2.''' ''MIB Tree Access''
= SMI(''Structure Management Information'') =
||IP address || O || O ||
RevisionPart
RevisionPart ::=
Revisions
Revisions ::=
Revision
| Revisions Revision
Revision ::=
"REVISION" value(Update ExtUTCTime)
ReferPart
"current"
| "deprecated"
ReferPart ::=
"REFERENCE" Text
ReferPart
"current"
- MLA_SM . . . . 98 matches
#title What is the difference between Machine Learning and Statistical modeling?
'''" What is the difference between Machine Learning and Statistical modeling? "'''
I have been doing research for the past 2 years. Generally, it takes me not more than a day to get clear answer to the topic I am researching for. However, this was definitely one of the harder nuts to crack. When I came across this question at first, I found almost no clear answer which can layout how machine learning is different from statistical modeling. Given the similarity in terms of the objective both try to solve for, the only difference lies in the volume of data involved and human involvement for building a model. Here is an interesting Venn diagram on the coverage of machine learning and statistical modeling in the universe of data science (Reference: SAS institute)
n this article, I will try to bring out the difference between the two to the best of my understanding. I encourage more seasoned folks of this industry to add on to this article, to bring out the difference.
Before we start, let’s understand the objective behind what we are trying to solve for using either of these tools. The common objective behind using either of the tools is '''Learning from Data'''. Both these approaches aim to learn about the underlying phenomena by using data generated in the process.
Now that it is clear that the objective behind either of the approaches is same, let us go through their definition and differences.
Before you proceed: [:Machinelearningbasicsforanewbie Machine learning basics for a newbie]
an algorithm that can learn from data without relying on rules-based programming.
formalization of relationships between variables in the form of mathematical equations.
For people like me, who enjoy understanding concepts from practical applications, these definitions don’t help much. So, let’s look at a business case here.
Let us now see an interesting example published by McKinsey differentiating the two algorithms :
What McKinsey shows next is an absolute delight! Just stare at the below graph to understand the difference between a statistical model and a Machine Learning algorithm.
What did you observe from the above graph? Statistical model is all about getting a simple formulation of a frontier in a classification model problem. Here we see a non linear boundary which to some extent separates risky people from non-risky people. But when we see the contours generated by Machine Learning algorithm, we witness that statistical modeling is no way comparable for the problem in hand to the Machine Learning algorithm. The contours of machine learning seems to capture all patterns beyond any boundaries of linearity or even continuity of the boundaries. This is what Machine Learning can do for you.
If this is not an inspiration enough, machine learning algorithm is used in recommendation engines of YouTube / Google etc. which can churn trillions of observations in a second to come up with almost a perfect recommendation. Even with a laptop of 16 GB RAM I daily work on datasets of millions of rows with thousands of parameter and build an entire model in not more than 30 minutes. A statistical model on another hand needs a supercomputer to run a million observation with thousand parameters.
= Differences between Machine Learning and Statistical Modeling: =
Given the flavor of difference in output of these two approaches, let us understand the difference in the two paradigms, even though both do almost similar job :
1. Nomenclatures of operations and objects
1. Predictive power and human efforts involved to implement
All the differences mentioned above do separate the two to some extent, but there is no hard boundary between Machine Learning and statistical modeling.
== They belong to different schools ==
- MMPC_CCPV&IPNC . . . . 3 matches
1. [:20100428_DM365_Boot_cfg_reg DM365 부팅 방법 설정하기]
1. [:20100727_ipnc_hardware_comfirm IPNC 새로나온 Hardware 검증 작업]
- MPI . . . . 12 matches
./configure --prefix=/opt/openmpi --enable-mpi-threads
---기본적인 thread 기능만을 활성화 한 상태 입니다. progress-thread 의 경우 아직 문제가 있는 것 같습니다. 또한 intel compiler 와 같이 사용할 경우 정상적인 실행이 되지 않았습니다. --- {{{{color: rgb(255, 1, 1); font-size: 13px;} 2007년도 커맨트 지금은 정상으로 보임!}}}
if ! echo ${PATH} | /bin/grep -q ${OPENMPI_PATH}/bin ; then
{{{ ldconfig -p | grep mpi
# ./configure --prefix=/usr/local/lam
http://www.redbooks.ibm.com/redbooks/pdfs/sg245380.pdf 레드북
- Mame . . . . 1 match
흔히 Retro Game이라고 해서 고전 게임 오락실 아케이드 게임 등으로 표현되는 게임들을 PC에서 돌릴 수 있도록 해주는 에뮬레이터가 있다. 에뮬레이터는 https://www.mamedev.org/release.html에서 받을 수 있는데 현재 버전 0.220 까지 릴리즈 되었다. (2020년 4월 6일) 이 링크에는 Windows Os만 나와 있는데 Linux와 Mac OS에도 Mame가 동작하는 것으로 알고 있다. 하지만 이 글에서는 Windows 10을 기준으로 테스트를 진행할 것이므로 Windows Os에 대해서만 다루겠다.
- MariaDB . . . . 3 matches
mysql secure installation
$ sudo mysql_secure_installation
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
MariaDB> CREATE DATABASE nextcloud;
MariaDB> CREATE USER "nextcloud"@"localhost";
- MoniWiki/HotKeys . . . . 6 matches
적수네 동네에 있던 기능을 GnomeKorea, KLE에서 쓰도록 개선시킨 것을 내장시켰다.
||R(not Safari)||action=show ||Refresh||
||Q, S, R(Safari only)[[BR]]또는 F3(Firefox only)|| ||[[Icon(search)]] FindPage ||
||F1(Firefox only)|| ||[[Icon(help)]] HelpContents ||
||U|| ||UserPreferences ||
||C|| ||RecentChanges ||
- MoniWiki/UserPreferences . . . . 2 matches
* 작성자: 김환선(iou78@nims.re.kr)
= Reference =
- MoniWikiACL . . . . 37 matches
지정 방법은 {{{*}}}는 모든 액션을 가리키며, 페이지 이름은 regex가 가능합니다.
* @ALL allow read,userform,rss_rc,aclinfo,fortune,deletepage,fixmoin,ticket // 여러 줄로 나눠쓰기 가능
# some pages are allowed to edit
* @ALL protect deletefile,deletepage,rename,rcspurge,rcs,chmod,backup,restore
* @ALL allow read,userform,rss_rc,aclinfo,fortune,deletepage,fixmoin,ticket
# some pages have restrict permission
* {{{allow read}}} + {{{deny read}}} = {{{deny read}}}
* {{{deny read}}} + {{{allow read}}} = {{{allow read}}}
/!\ {{{deny *}}} + {{{allow read}}}는 아파치의 {{{Order allow,deny}}}와 같다. 즉, explicit하게 지정된 allow에 대해 먼저 검사하여 액션이 read일때만 허락하고 나머지 액션은 deny.
* @ALL allow read
ProtectedPage @ALL deny read
ProtectedPage는 {{{deny *}}} + {{{allow read}}} + {{{deny read}}} = {{{deny *}}}이 된다.
* @ALL allow read
ProtectedPage는 {{{deny *}}} + {{{allow read}}} + {{{deny *}}}이 된다: explicit하게 허락된 read가 허용된다.
@User allow read
@User에서 read가 허용. 나머지는 {{{@ALL deny *}}}에 의해 거부된다.
* @ALL allow read,ticket,info,diff,titleindex,bookmark,pagelist
ProtectedPage @All deny read,ticket,info,diff,titleindex,bookmark,pagelist
* @ALL deny backup,restore
* @Group1 allow read,info,diff
- MoniWikiOptions . . . . 15 matches
* 기본 css의 경로를 설정한다. 기본값은 `$url_prefix.'/css/default.css'` $theme를 설정한 경우는 이 값이 자동 설정된다.
* 기본값은 `$url_prefix.'/css/kbd.js'` : 사용하기 싫으면 그 값을 빈 문자열로 한다.
`'''$menu=array('MoniWiki'=>1,'FindPage'=>4,'TitleIndex'=>3,'BlogChanges'=>'','RecentChanges'=>2,'http://kldp.org KLDP'=>9);'''`
메뉴의 구분자를 설정한다. 기본값은 `'|'` (''deprecated'')
`'''$auto_linebreak'''`
`'''$use_referer'''`
* 간단한 referer_log 남기기 여부 결정
* 기본 css의 경로를 설정한다. 기본값은 `$url_prefix.'/css/default.css'`
* 기본값 `$url_prefix.'/imgs'`
* 기본값은 `$url_prefix.'/css/kbd.js'`
`'''$shared_metadb'''`
`'''$shared_intermap'''`
`'''$url_prefix'''`
`'''$query_prefix= '/';'''`
- MoniWikiPlugins . . . . 4 matches
* RecentChanges
* rename
* restore
* rss :rss reader
- MoniWikiTutorial . . . . 9 matches
* 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
* RecentChanges: 위키위키의 모든 변경된 기록이 RecentChanges에 보여집니다.
* UserPreferences: 사용자 가입/로그인/설정
* [[Icon(pref)]] 환경설정 혹은 로그인을 할 수 있는 폼을 보여줍니다.
* '''[[GetText(Preview)]]''': 편집된 내용을 미리볼 수 있습니다.
|| {{{PageReference WikiSandBox}}} || PageReference WikiSandBox ||
공백을 보존되는 preformat을 사용하고 싶은 경우는 중괄호`{{{{{{ ... }}}}}}`를 사용합니다.: {{{
- NVML_driver_error . . . . 3 matches
lsmod | grep nvidia
sudo apt-get autoremove
sudo add-apt-repository ppa:graphics-drivers/ppa
- NavigationMacro . . . . 2 matches
/!\ Before 1.0.8 version, it is named as {{{TrailMacro}}} and its name is changed as {{{NavigationMacro}}}.
* MoniWikiFeatures
- Notify_job_finish작업이끝남을리모트에알려주기 . . . . 1 match
= secure shell을 이용한 명령어 전달 =
- OSD . . . . 1 match
On-Screen Display(OSD) Module에 대해 알아본다.
- Occlusion_Sensitivity . . . . 2 matches
Zeiler의 Visualizing and Understanding Convolutional Networks 논문[* ''Zeiler, Matthew D.'', '''Visualizing and Understanding Convolutional Networks''', ECCV 2014][* https://link.springer.com/chapter/10.1007/978-3-319-10590-1_53?utm_source=getftr&utm_medium=getftr&utm_campaign=getftr_pilot]에서 Convolutional Networks의 학습 메카리즘과 내부를 분석하는 과정에서 사용한 방법으로 학습이 끝난 Convolutional Networks의 입력의 일부를 가림으로 prediction 성능이 저하되는 정도를 측정하여 입력의 어느 부분이 prediction에 기여하는지를 측정하는데 사용하였다. [* https://ferguson.tistory.com/5]
- PageHitsMacro . . . . 1 match
reverse 옵션을 넣었습니다. :) (rc16에 넣지요)
- PatternTemplate . . . . 13 matches
The forces influencing the problem and solution. This can be represented as a list.
== Resulting Context ==
The context of the solution. This should include the new problems that appear as a result of applying the pattern that will require new patterns for their resolution.
Explain the rationale behind the solution. Tell stories! Share your expertise.
List or describe places where the pattern is used.
== Related Patterns ==
Describe any related patterns and their relationships with this pattern.
[mailto:author@somewhere.com Send email to author(s)]
'''References:''' References cited in the pattern.
- RTA_ALARM_gio . . . . 26 matches
static void setup_mmpc_camtron_reset(void)
davinci_cfg_reg(DM365_GPIO64_57, PINMUX_RESV);
davinci_cfg_reg(DM365_GPIO85, PINMUX_RESV);
davinci_cfg_reg(DM365_GPIO46, PINMUX_RESV); //filter change
davinci_cfg_reg(DM365_GPIO47, PINMUX_RESV); //filter change
davinci_cfg_reg(DM365_GPIO41, PINMUX_RESV); //filter change
davinci_cfg_reg(DM365_GPIO40, PINMUX_RESV); //filter change
davinci_cfg_reg(DM365_GPIO39, PINMUX_RESV); //filter change
davinci_cfg_reg(DM365_GPIO38, PINMUX_RESV); //filter change
gpio_direction_input(46); //Alarm out
gpio_direction_output(47, 1); //sensor in
gpio_direction_output(38, 0); //reset
gpio_direction_output(39, 0); //reset
gpio_direction_output(40, 0); //reset
gpio_direction_output(41, 0); //reset
gpio_direction_output(63, 1); //reset
gpio_direction_output(61, 0); //LED_ON
gpio_direction_output(58, 1); //RS485 ENABLE
gpio_direction_input(85); //factory reset
printk("Setup Power on reset\n");
- ReLU_Rectified_linear_units . . . . 1 match
http://en.wikipedia.org/wiki/Rectifier_(neural_networks)
1. [http://www.cs.toronto.edu/~fritz/absps/georgerectified.pdf IMPROVING DEEP NEURAL NETWORKS FOR LVCSR USING RECTIFIED LINEAR UNITS AND DROPOUT]
- RecentChangesMacro . . . . 2 matches
{{{[[RecentChanges(bytesize,nonew|quick|showhost|simple|comment|board|hits)]]}}}
* bytesize is replaced by item=''number'' and bytesize is ignored
{{{[[RecentChanges(item=5,board,hits,comment)]]}}}
[[RecentChanges(item=5,board,hits,comment)]]
{{{[[RecentChanges(item=10,quick)]]}}}
[[RecentChanges(item=10,quick)]]
{{{[[RecentChanges(item=5,nonew)]]}}}
[[RecentChanges(item=5,nonew)]]
{{{[[RecentChanges(item=6)]]}}}
[[RecentChanges(item=6)]]
{{{[[RecentChanges(item=10,showhost,nonew)]]}}}
[[RecentChanges(item=10,showhost,nonew)]]
{{{[[RecentChanges(item=5,table)]]}}}
[[RecentChanges(item=5,table)]]
{{{[[RecentChanges(item=5,simple)]]}}}
[[RecentChanges(item=5,simple)]]
- Rosenblatt . . . . 3 matches
1957 년 Frank Rosenblatt 이 Cornell Aeronautical Lab에서 개발했다. 그것은 한개이상의 층 (layer) 을 가진 인공 신경세포 (Neuron) 으로 구성된다. 입력은 일련의 가중치를 통해 출력으로 직접 전달되며, 그것은 가장 간단한 종류의 피드포워드 (Feedforward) network 으로 고려될 수 있다. 각 노드에서 가중치와 입력을 곱한 것을 합하고, 그 값이 threshold (보통 0) 보다 크면 뉴런은 실행 (fire) 하고 값 1 을 취하고 그렇지 않으면 값 -1 을 취한다.
이런 종류의 활성화 함수 (Activation Function) 를 가지는 인공뉴런들은 맥컬럭-피츠 (McCulloch-Pitts) neurons 또는 threshold neurons 이라고도 불리운다. Perceptron 이라는 문자는 때때로 이러한 유닛중의 하나로서 구성되는 network 으로서 언급된다. Perceptron 은 보통 delta-rule 이라고 불리는 단순한 학습 알고리즘으로 훈련될 수 있다. 그것은 계산된 출력과 샘플 출력 데이터 사이의 에러를 계산하고, 그것을 가중치를 조정하는데 사용하며, 기울기 하강 (Gradient Descent) 의 형태를 구현하게 된다.
- SVN . . . . 97 matches
$ svnadmin create /home/svn
anon-access : 로그인하지 않은 사용자에 대한 권한입니다. none은 읽기/쓰기 금지이고 read는 읽기만 write는 쓰기만 가능합니다.
realm = project : 사용자가 접속시 표시되는 이름입니다. 프로젝트 명을 적어주면 됩니다.
'''권한 설정이 잘 못 될 경우 txn-current-lock 오류를 발생 시킨다.'''
AuthName "Subversion Repsoitory"
/etc/init.d/apache2 restart
//svn-path : repository가 있는 위치
ex) {{{{color: rgb(255, 1, 1); font-size: 13px;} /home/repository }}}
1. commit-email.pl 스크립트 svn repository 폴더 안에 있는 hooks 폴더에 복사한다.
>svnadmin dump {repository path} >> {dumpfile.name}
SVN Retore
>svnadmin load {repository} < {dumpfile}
# commit-email.pl: send a commit email for commit REVISION in
# repository REPOS to some email addresses.
# Usage: commit-email.pl REPOS REVISION [OPTIONS] [EMAIL-ADDR ...]
# -r email_address : Set email Reply-To header to this email address
# -s subject_prefix : Subject line prefix
# Copyright (c) 2000-2002 CollabNet. All rights reserved.
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
- TM_Upsampler_complete . . . . 4 matches
if (sincsize % 2 == 1) return -1;
return 0;
'''각각의 element의 연산에 필요한 값들로 reorder하는 함수'''
return 0;
- TM_Upsampler_lib . . . . 25 matches
resampler.h
-lResampler 라이브러리
== resampler() ==
'''int''' resampler('''short''' *''src'', '''short''' *''des'', '''float'''* ''sinc'', '''int''' ''sincsize'', '''int''' ''src_size'', '''int''' ''times'');
== resample_table() ==
'''int''' resample_table('''double''' *''src'', '''float''' *''sinc'', '''double''' *''out'', '''int''' ''times'');
== resample_frame() ==
'''int''' resample_frame('''float''' *''data'', '''float''' *''sinc'', '''float''' *''out'');
== init_resampler_cl() ==
'''int''' init_resampler_cl('''float''' *''sinc'', '''int''' ''_sincsize'', '''int''' ''_src_size'', '''int''' ''source_type'')
== init_resamplerf_cl() ==
'''int''' init_resamplerf_cl('''float''' *''sinc'', '''int''' ''_sincsize'', '''int''' ''_src_size'', '''int''' ''source_type'')
== init_resampler_table_cl() ==
'''int''' init_resampler_table_cl('''float''' *''sinc'', '''int''' ''_sincsize'', '''int''' ''_src_size'', '''int''' ''source_type'');
== resampler_cl() ==
'''void''' resampler_cl('''short'''* ''src'', '''short'''* ''des'');
== resamplerf_cl() ==
'''void''' resamplerf_cl('''float'''* ''src'', '''float'''* ''des'');
== resamplereddy_cl() ==
'''void''' resamplereddy_cl('''float'''* ''src'', '''float'''* ''des'');
- TM_opencl_tutorial . . . . 101 matches
cl_uint ret_num_devices;
cl_uint ret_num_platforms;
cl_int ret;
source_size = fread(source_str, 1, MAX_SOURCE_SIZE, fp);
ret = clGetPlatformIDs(2, platform, &ret_num_platforms);
ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_DEFAULT, 1, &device_id, &ret_num_devices);
printf("Device number = %d\n", ret_num_devices);
context = clCreateContext(NULL, 1, &device_id, NULL, NULL, &ret);
command_queue = clCreateCommandQueue(context, device_id, 0, &ret);
memobjA = clCreateBuffer(context, CL_MEM_READ_WRITE, MEM_SIZE * sizeof(char), NULL, &ret);
memobjB = clCreateBuffer(context, CL_MEM_READ_WRITE, MEM_SIZE * sizeof(char), NULL, &ret);
program = clCreateProgramWithSource(context, 1, (const char **)&source_str, (const size_t *)&source_size, &ret);
ret = clBuildProgram(program, 1, &device_id, NULL, NULL, NULL);
kernel[0] = clCreateKernel(program, "hello", &ret);
kernel[1] = clCreateKernel(program, "bye", &ret);
ret = clSetKernelArg(kernel[0], 0, sizeof(cl_mem), (void *) &memobjA);
ret = clSetKernelArg(kernel[1], 0, sizeof(cl_mem), (void *) &memobjB);
ret = clEnqueueReadBuffer(command_queue, memobjA, CL_TRUE, 0, MEM_SIZE * sizeof(char), string, 0, NULL, NULL);
ret = clEnqueueReadBuffer(command_queue, memobjB, CL_TRUE, 0, MEM_SIZE * sizeof(char), string, 0, NULL, NULL);
ret = clFlush(command_queue);
- TM_upsampling_implementaion . . . . 9 matches
'''Repository Information'''
Current Revision 56.
앞에 두가지는 플렛폼에 따른 구분으로 .amd는 GPU를 타겟으로 하며 오디오 셈플을 resample하고 X2 ~ X128 배에 해당하는 결과를 테스트 파일 형태로 만들어 줌.
.eddy는 GPU 플렛폼을 사용하며 resample 소스의 데이터 타입이 float형을 사용하게 설계 되어 있음.
Data 폴더에 있는 sampler 텍스트 파일들을 각각 X2 ~ X128배로 resample 하여 합친 결과와 각각의 resample 결과를 텍스트 파일로 저장하도록 설계 되어 있음.
= Float Data 샘플을 Resample한 결과 =
== Resample 결과 ==
각각을 Resampling한 결과
attachment:result_sub1.png
attachment:result_sub3.png
attachment:result_sum.png
attachment:result.png
- Taylor_polynomials . . . . 12 matches
테일러[* Brook Taylor (1685–1731) described this series in 1715 in the paper Methodus incrementorum directa et inversa. Special cases of the result, and likely the result itself, had been previously known to Isaac Newton, James Gregory, and others.] 급수(Taylor series) 또는 테일러 전개(Taylor expansion)는 어떤 미지의 함수 \(f(x)\)를 아래 식과 같이 근사 다항함수로 표현하는 것을 말합니다.
where
= 테일러 정리 (Taylor's theorem) =
Suppose \(f \in C^n[a, b]\), that \(f^{(n+1)}\) exists on \([a, b]\), and \(x_0 \in [a, b]\). For every \(x \in [a, b]\), there exists a number \(\xi(x)\) between \(x_0\) and \(x\) with
where
이것을 '''[:Lagrange_note 라그랑주]의 잉여항(剩餘項, Lagrange form of the remainder term)'''이라고 한다.
[http://ghebook.blogspot.kr/2010/07/mean-value-theorem-for-integration.html 적분형 평균값의 정리]는 어떤 함수의 적분값(\(\int_a^bf(t)dt\))과 함수값(\(f(t)(b-a)\))이 동일한 어떤 점(\(t=c\))이 반드시 존재한다는 것이다.
- TechTemplate . . . . 2 matches
* 작성자: 김환선(iou78@nims.re.kr)
= Reference =
- TechTemplate$ . . . . 2 matches
* 작성자: 김환선(iou78@nims.re.kr)
= Reference =
- UML . . . . 1 match
* 집합 연관(aggregation) - 전체와 부분을 나타내는 모델 요소 단, 전체와 부분은 서로 독립적임.
- UsenetMacro . . . . 18 matches
This works well with GoogleGroups Beta service. This helps make links to GoogleGroups with text remotely extracted from usenet topic.
* All rights reserved. Distributable under GPL.
list($group, $thread) = @explode(':', $value);
if (preg_match('/[[:xdigit:]]+/', $thread))
$url .= '/browse_thread/thread/'.$thread;
if (!preg_match('@200 OK@i', $buf))
return '<!> URL is not found <!>';
$_ = @fread($fp, 1024);
if (strlen($_) < 1024) break;
return sprintf('%s<a href="%s">%s</a>', $img, $url, $subj);
[[Usenet(http://groups-beta.google.com/group/comp.unix.programmer/browse_thread/thread/d302919d5af2b802)]]
[[Usenet(http://groups-beta.google.com/group/comp.unix.programmer/browse_thread/thread/d302919d5af2b802)]]
- UserPreferences . . . . 2 matches
[[UserPreferences]]
- Variational_inference . . . . 14 matches
#title 변분 추론(Variational Inference)의 이해
Variational Inference를 활용한 연구중에 가장 최신의 연구라면 VAE를 꼽을 수 있다. VAE는 2013년 Kingma et al.과 Rezende et al.에 의해 정의되었다. Jaan Altosaar[* Jaan Altosaar, "What is variational autoencoder?", <http://nolsigan.com/blog/what-is-variational-autoencoder/> (14 Jan 2017)]는 VAE가 뉴럴넷과 확률 모델 관점에서 서로 다른 언어로 설명하고 있기 때문에 그 사이의 간극을 줄여보려는 노력을 했다.
encoder는 입력으로 data x가 들어가고 출력으로 잠재된 차원(hidden representation) z가 나온다. 이 네트워크는 고차원의 문제를 낮은 차원으로 효율적으로 압축하는 것을 배워야하기 때문에 Encoder를 \(q_{\theta}(z|x)\)로 표현하자. z는 확률론적임을 확인하자. encoder는 Gaussian probability density인 \(q_{\theta}(z|x)\)에 파라미터를 아웃풋으로 내보낸다. 이 확률 분포로 부터 z를 얻을 수 있다.
decoder는 입력으로 z를 출력으로 데이터 확률분포의 파라미터 값을 내어준다. Decoder는 \(p_{\phi}(x|z)\)로 표현 된다. 예로 손으로 쓴 숫자를 판독하는 일이라고 하면 784개의 픽셀이 흑백이고 각각의 픽셀이 0, 1로 이루워져있다면 Bernoulli distribution으로 표현할 수 있다. 즉 출력값으로는 각 픽셀에 해당하는 Bernoulli distribution 확률분포의 파라미터들이 된다. 낮은 차원에서 높은 차원으로 가기 때문에 정보의 손실이 발생한다. 얼마나 손실이 발생하는가? reconstrunction log-likelihood \(\log p_{\phi}(x|z)\)를 사용하여 측정한다.
VAE의 loss function은 regularizer가 표함된 negative log-likelihood이다. 모든 datapoint가 공유하는 전역 변수가 없으므로 우리는 loss function을 하나의 datapoint \(l_i\)에만 의존적이도록 나눌 수 있다. 총 loss는 총 N개의 datapoint의 loss의 합이 된다.
뒷 부분은 regularizer이다. 이 것은 encoder의 분포 \(q_{\theta}(z|x)\)와 \(p(z)\) 사이의 kullback-leibler divergence이다. q를 사용하여 p를 표현할 때 얼마나 정보가 유실 되는지를 측정한다. q가 p에 얼마나 가까운지 측정하는 방법이다.
VAE에서 p는 평균 0, 분산 1을 갖는 표준정규분포를 갖는다. encoder가 표준정규분포와 다른 z를 갖는다면 loss값에서 손해(penalty)를 본다. 이 regularizer는 z의 각 숫자를 충분히 다양하도락 만들라는 뜻이다. regularizer가 없다면 encoder는 각 datapoint에 대해 유클리드 공간상의 다른 영역을 나태내도록 편법을 사용할 수도 있다. 예로 똑같은 숫자를 나타내는 이미지(두 명이 쓴 숫자 2, \(2_{alice}, 2_{bob}\)가 각각 다른 값 \(z_{alice}\), 와 \(z_{bob}\)을 가질 수 있기 때문이다. z값이 의미 있길 원하기 때문에 이런 행동을 제한한다. 이를 통해 비슷한 숫자의 표현을 가깝게 유지할 수 있다.
이제 이 모델에서의 inference에 대해 생각해 볼 수 있다. 목표는 관찰된 데이터로부터 숨겨진 변수를 잘 추론(infer)하는 것이다. 곧, posterior \(p(z|x)\)를 계산하는 것과 일치한다. bayers에 따르면:
Variational inference가 \(q_{\lambda}(z|x)\) 계열의 분포를 근사할 수 있다. Variational parameter \(\lambda\)는 분포 계열을 구별할 수 있게 한다. 예를 들어, q가 Gaussian이라면, 각 datapoint \(x_i\)에 대한 숨겨진 변수의 평균과 분산이 된다. \(\lambda_{x_i = (\mu_{x_i}, \sigma^2_{x_i})}\)
variational inference를 위해서 아래의 조건이 필요하다.
Jensen’s inequality 에 의해, Kullback-Leibler divergence 는 항상 0 보다 크거나 같다. 이는 곧 Kullback-Leibler divergence 를 최소화하는 것이 ELBO 를 최대화하는 것과 동치임을 말한다. 요약하자면 Evidence Lower Bound (ELBO) 가 posterior inference 근사를 가능하게 한다. 우리는 더이상 Kullback-Leibler divergence 를 최소화하기 위해 시간을 쓸 필요가 없다. 대신, 우리는 ELBO 를 최대화하므로써 계산 가능한 동치의 일을 수행한다.
Frequentist vs Bayesian
- WikiSandBox . . . . 4 matches
* Some more
* And even more
* Some more
* And even more
- WikiSlide . . . . 68 matches
* a technology for collaborative creation of internet and intranet pages
* '''Open''' - everybody may read ''and'' edit everything
* '''Simple''' - ''Content over Form'' (content counts, not the super-pretty appearance)
* '''Secure''' - every change is archived, nothing gets lost
* '''Interlinked''' - Links between pages are easy to make
* Creating documentation and slide shows ;)
* Help with problems or questions: HelpContents ([[Icon(help)]]) and HelpMiscellaneous/FrequentlyAskedQuestions
* UserPreferences
* Name (appears on RecentChanges)
* Email address for subscribing to page change emails and retrieving a lost login/password
* Personal preferences
* Structure of pages
* "Recently visited pages" (see UserPreferences)
* RecentChanges: What has changed recently?
* SiteNavigation: A list of the different indices of the Wiki
To edit a page, just click on [[Icon(edit)]] or on the link "`EditText`" at the end of the page. A form will appear enabling you to change text and save it again. A backup copy of the previous page's content is made each time.
You can check the appearance of the page without saving it by using the preview function - ''without'' creating an entry on RecentChanges; additionally there will be an intermediate save of the page content, if you have created a homepage ([[Icon(home)]] is visible).
||<rowbgcolor="#DEDEDE">'''Undo:''' `CTRL+Z`||'''Redo:''' `CTRL+Y`||
(!) If you discover an interesting format somewhere, just use the "raw" icon to find out how it was done.
(!) In UserPreferences, you can set up the editor to open when you double click a page.
- WikiWikiWeb . . . . 5 matches
The [wiki:Wiki:FrontPage first ever wiki site] was founded in 1994 as an automated supplement to the Wiki:PortlandPatternRepository. The site was immediately popular within the pattern community, largely due to the newness of the internet and a good slate of Wiki:InvitedAuthors. The site was, and remains, dedicated to Wiki:PeopleProjectsAndPatterns.
Wiki:WardCunnigham created the site and the WikiWikiWeb machinery that operates it. He chose wiki-wiki as an alliterative substitute for quick and thereby avoided naming this stuff quick-web. An early page, Wiki:WikiWikiHyperCard, traces wiki ideas back to a Wiki:HyperCard stack he wrote in the late 80's.
* get to know more about the Wiki:WikiHistory
* [http://news.mpr.org/programs/futuretense/daily_rafiles/20011220.ram Ward Cunningham Radio Interview]
- Write_Combining_memory . . . . 3 matches
* http://stackoverflow.com/questions/11105827/what-is-a-store-buffer
* http://www.i-programmer.info/programming/hardware/3114-write-combining.html
* http://fgiesen.wordpress.com/2013/01/29/write-combining-is-not-your-friend/
- YOLOv8 . . . . 3 matches
src = cv.rectangle(param, (sx, sy), (ex, ey), (255, 0, 0), 2, cv.LINE_8)
img = cv.imread('./3258321_1.jpg', cv.IMREAD_COLOR)
이를 위해 NMS(Non Maximum SUpression)과 Soft-NMS extension이 주로 사용된다.
- accelerator_programming . . . . 2 matches
attachment:source.png attachment:result.png
./configure
- advaced_VAEs . . . . 2 matches
* 작성자: 김환선(iou78@nims.re.kr)
= Reference =
- altera_opencl_init . . . . 21 matches
ImportError: libXext.so.6: cannot open shared object file: No such file or directory
'''라이센스 우회하는 방법'''[[footnote(http://spherez.blog.me/60180544389 윈도우 버전)]]
Extensions: cl_khr_byte_addressable_store cles_khr_int64
EXTENSIONS: cl_khr_byte_addressable_store cles_khr_int64
MAX_CLOCK_FREQUENCY: 1000
ADDRESS_BITS: 32
MAX_READ_IMAGE_ARGS: 0
ERROR_CORRECTION_SUPPORT: FALSE
CL_DEVICE_SINGLE_FP_CONFIG: CL_FP_INF_NAN CL_FP_ROUND_TO_NEAREST
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE: CL_READ_ONLY_CACHE
Extensions: cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread
NAME: Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz
EXTENSIONS: cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread
MAX_CLOCK_FREQUENCY: 3070
ADDRESS_BITS: 64
MAX_READ_IMAGE_ARGS: 480
ERROR_CORRECTION_SUPPORT: FALSE
CL_DEVICE_SINGLE_FP_CONFIG: CL_FP_DENORM CL_FP_INF_NAN CL_FP_ROUND_TO_NEAREST
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE: CL_READ_WRITE_CACHE
OpenCL_SDK/linux64/driver/reprogram.c 를 아래와 같이 수정해야 한다.
- androd_store . . . . 3 matches
4. 첨부된 add_istore.zip를 sd카드에 넣는다.
1. 첨부된 add_tstore_ext3.zip (cm7의 경우 system 파티션이 ext4임으로 add_tstore_ext4.zip를 사용) 를 sd카드에 넣는다.
- androd_wifi_zone . . . . 1 match
ssid="T wifi zone_secure"
- ann_exam . . . . 2 matches
* "maximal_iterations": 1000, "minimal_value_differences" : 1e-7
* "maximal_iterations": 1000, "minimal_value_differences" : 1e-7 ~ 1e-9
- ann_exam_part2 . . . . 2 matches
* "maximal_iterations": 100, "minimal_value_differences" : 1e-7
* "maximal_iterations": 500, "minimal_value_differences" : 1e-7
- ann_exam_part3 . . . . 2 matches
#title 1250 Input vactors pre-train by RBM
1250개의 입력을 RBM을 통해서 Pre-training 시켜보려고 함.
- ann_rnn . . . . 6 matches
#title Recurrent and Recursive Nets
RNN이라는 약자는 때때로 Recursive Neural Networks 로도 쓰이지만, Recurrent Neural Networks의 의미로 사용하는 것을 추천한다. ( 죠시아 벤지오의 Lecture Note 10장에서..)
* Recursive Neural networks는 Recurrent Neural Networks의 일반화된 버전이다.
* Recurrent Neural Networks는 chain 구조를 갖는다.
* Recursive Neural networkss는 tree 구조를 갖는다.
- application_list . . . . 3 matches
= freemake video downloader =
[http://www.freemake.com/free_video_downloader/ 다운로드]
- apt_error . . . . 2 matches
W: GPG error: http://ppa.launchpad.net trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4DF9B28CA252A784
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4DF9B28CA252A784
- arXiv_1911 . . . . 395 matches
Modern interferometric gravitational wave (GW) detectors [1, 2] are highly complex and sensitive instruments. Each detector is sensitive not only to gravitational radiation, but also to noise from sources including the physical environment, seismic activity, and complications in the detector itself. The output data of these detectors is therefore also highly complex. In addition to the desired signal, the GW data stream contains sharp lines in its noise spectrum and non-Gaussian transients, or “glitches,” that are not astrophysical in origin.
Instrumental artifacts in the GW data stream can be mistaken for short-duration, unmodeled GW events, and noisy data can also decrease the confidence in compact binary detections, sometimes by orders of magnitude [3]. We show an example of the similarity between a glitch and a GW signal in Fig. 1 to illustrate the difficulty in searching for GW signals with glitches present. Thus, it is important to identify and flag GW data containing glitches. Flagged instrumental glitches can then be ad- dressed in many ways, from graceful modeling followed by subtraction to the cruder approach of so-called “vetoes” that unnecessarily waste data. Understanding the origin of instrumental glitches is also important for diagnosing their causes and improving the quality of the detector and its data.
The primary pipeline currently used to identify and characterize glitches in the Advanced LIGO and Virgo detectors is Omicron [7] (see also [4, 5]). Omicron identifies glitches by searching the GW strain data from a single detector for events of excess power.
It characterizes their properties, such as amplitude, duration, and frequency, by comparing the event to a sine-Gaussian waveform.
In addition to the GW data stream, each detector records hundreds of thousands of “channels” of auxiliary data, each channel measuring some aspect of the detector’s components or physical environment. These channels provide important information about the state of the detector that can be useful for diagnosing glitches, but monitoring all of them is a difficult task.
When identifying and flagging potential glitches, it is important to ensure that the event is indeed a glitch of instrumental origin, rather than an unmodeled GW event. By considering only LIGO’s auxiliary channels, rather than the GW data stream, we can be more confident that glitches we flag are indeed not from gravitational events, since the auxiliary channels are generally not sensitive to GWs [8, 9]. An additional benefit of studying glitches with auxiliary channels is that correlations with specific channels can help identify the source of detector issues.
Current work to veto glitch segments includes Used- PercentageVeto [9], HierarchicalVeto [10], Bilinear Coupling Veto [11], and iDQ [12–14]. Cavaglia et al. [15] use a dual approach of random forests combined with genetic programming in order to identify instrumental artifacts from a subset of auxiliary channels. Additionally, there is work to study data quality by correlating auxiliary channels with the GW detector’s astronomical range [16]. Our method is complementary to these approaches; we consider all auxiliary channels and use them to identify segments containing glitches, both to flag these segments and to identify detector issues.
Machine learning techniques have proved to be powerful tools in analyzing complex problems by learning from large example datasets. They have been applied in GW science from as early as 2006 [17] to the study of glitches [6, 12, 13, 18–24] and other problems, such as real-time signal detection [25], signal characterization [26–28], and parameter estimation [29].
Classification is a fundamental problem in machine learning in which a machine learning model is trained to consider a set of measured characteristics, or “features,” of data samples belonging to one of at least two categories. By providing the model with a set of samples whose categories are known, we can train it to predict the category of samples whose true category is unknown.
We pose the problem of detecting whether a glitch is occurring at a given time based on LIGO auxiliary channels as a simple two-class classification problem (as in previous work [13, 15]) and apply a well-understood, efficient, and commonly used machine learning method to this problem, with promising results.
We train a classification model to predict whether a glitch is occurring at a given time using features derived from the GW detector’s auxiliary channels at that time. Because the data on which the classification is performed are derived only from the auxiliary channels, our method is able to provide corroboration of the presence or absence of glitches without using strain data, independently of existing methods that analyze the strain.
Below, we describe a variant of the method, called Elastic-net based Machine-learning for Understanding (EMU method or method thereafter), we use to identify glitches in Sec. II; we show the results of testing this method on recent LIGO data in Sec. III; and we discuss the results in Sec. IV.
To predict the presence of a glitch in a GW data stream using auxiliary information, we need a method that ex- tracts useful information from the auxiliary channels and uses this information to make a decision.
In considering all of the auxiliary channels, we must generate and process a large, high-dimensional dataset for classification. Linear models are simple and effective on this type of large dataset, and they are straightforward to train. We use logistic regression, a standard linear model for binary classification. We choose as the feature set a group of representative statistics for each auxiliary channel to capture properties of the channel’s behavior in the vicinity of a glitch (or absence of one).
If we hope to also diagnose detector issues, it is important that we can interpret the output of the algorithm. Logistic regression provides a simple method for this: during training, each feature is given a weight; higher-magnitude weights indicate features that are more relevant in deciding whether a glitch is present in a sample. A model with fewer large weights is intuitively more easily interpretable. To encourage this property, we use elastic net regularization to penalize the weights such that only the most relevant features are selected by the model and those corresponding to uninformative features become 0. This also allows us to train with smaller datasets than would otherwise be required if we did not impose sparse regularization.
Below, we describe the preliminary step of identifying irrelevant data in Sec. IIA, extraction of features from the remaining data in Sec. IIB, pre-conditioning of the data in Sec. IIC, the machine learning model we employ in Sec. II D, selection of model hyperparameters in Sec. IIE, and an analysis of how much training data is sufficient in Sec. II F.
There are approximately 250,000 auxiliary channels in each LIGO detector. Many of these channels are constant or always change in a consistent pattern (e.g., tracking the time or counting CPU cycles), and can be safely ignored. To reduce the amount of data that must be pro- cessed, we remove these channels that are uninformative for glitches from the analysis.
Auxiliary channel time-series data is encoded in a custom format [30] and stored in files each containing 64 consecutive seconds of data for each channel; we refer to these files as “raw frame files.” To identify uninformative channels, we choose a few raw frame files from the training period of each analysis and compare the channels across those frames. For each channel in each of the selected frames, we subtract the channel’s first raw value from the following values in that frame, and compare the resulting time series to the corresponding one from each of the other selected frames. If all are identical, the channel is ignored for the rest of the analysis. After this procedure, approximately 40,000 channels remain for our further analysis.
Some auxiliary channels are directly coupled with the GW strain channel, or are contaminated in other ways by the GW signal. Many of these channels have been identified in internal LIGO “channel safety” studies [8, 9]. We removed all such known channels. Additionally, after a preliminary training run and discussions with experts, we removed additional channels that may be contaminated by the strain but had not been considered in safety studies.
= Feature extraction =
- arduino_dev_env . . . . 1 match
https://www.arduino.cc/en/Main/Software
- artificial_neural_networks . . . . 33 matches
= TLU(Threshold logic unit) =
TLU는 퍼셉트론(Perceptron) 또는 ''Adaline''(Adpative linear element)으로 불리어져 왔고 이것의 유용성은 '''[Rosenblatt]'''[[footnote(Frank Rosenblatt : Corenell Aeronautical Lab(1957)에서 두개의 층을 가진 인공 신경망 개발. Input layer, Output layer)]]과 '''Widrow'''에 의해서 광범위하게 연구 되었다.(1962)
입력 벡터(Feature Vector) X와 TLU의 가중치 벡터 W의 내적이 \(\theta\)보다 크면 1을 출력하고, 그렇지 않으면 0를 출력한다.
\varepsilon = \sum_{X_j\in\Xi} (d_j - f_j)^2
원하는 값과 실제 값의 차이인 \(\varepsilon\)의 최소값을 '''기울기하강([:Gradient_Descent Gradient Descent])'''에 의한 탐색 과정을 수행함으로써 찾을 수 있다.
\(\varepsilon\)의 기울기를 계산하고 음의 기울기를 따라 가중치 벡터를 움직인다.
가중치에 대한 \(\varepsilon\)의 기울기는
\frac{\partial \varepsilon}{\partial W} = [\frac{\partial \varepsilon}{\partial w_1},\dots,\frac{\partial \varepsilon}{\partial w_i},\dots,\frac{\partial \varepsilon}{\partial w_{n+1}}]
\frac{\partial \varepsilon}{\partial W} = \frac{\partial \varepsilon}{\partial f}\frac{\partial f}{\partial s}\frac{\partial s}{\partial W}
\frac{\partial \varepsilon}{\partial W} = \frac{\partial \varepsilon}{\partial s}X
이다. \(\frac{\partial \varepsilon}{\partial s} = -2(d-f)\frac{\partial f}{\partial s}\)
\frac{\partial \varepsilon}{\partial W} = -2(d-f)\frac{\partial f}{\partial s}X
이런 경우 \(f = s\)를 사용하면 제곱 에러는 \(\varepsilon = (d-f)^2 = (d-s)^2\) 이고 \(\frac{\partial f}{\partial s} = 1\)이다.
\frac{\partial \varepsilon}{\partial W} = -2(d-f)X
이식을 \(\frac{\partial \varepsilon}{\partial W} = -2(d-f)\frac{\partial f}{\partial s}X\)에 대입하면
\frac{\partial \varepsilon}{\partial W} = -2(d-f)f(1-f)X
가 되고, 이것은 '''일반화된 델타 방법(Generalized delta procedure)'''이라고 알려진 다음과 같은 가중치 변경 규직을 만든다.
\(\frac{\partial \varepsilon}{\partial W} = -2(d-f)\frac{\partial f}{\partial s}X\) 이 공식을 다층을 갖는 시그모이드 함수로 일반화 하면
\frac{\partial \varepsilon}{\partial W_i^{(j)}} = -2(d-f)\frac{\partial f}{\partial s_i^{(j)}}X^{(j-1)}
일반화된 델타 방법에서 사용한 \(\frac{\partial \varepsilon}{\partial W} = -2(d-f)\frac{\partial f}{\partial s}X\)를 역으로 쓰면
- association_rule . . . . 18 matches
Lift값은 1보다 큰 값일 때 positively correlation, 1일 때 independent, 1 미만일 때 negatively correlation이라고 여긴다.
|| 1 ||{Bread} ||
|| 2 ||{Bread, Diapers, Beer, Eggs} ||
|| 4 ||{Bread, Milk, Diapers, Beer} ||
|| 5 ||{Bread, Milk, Diapers, Cola} ||
'''Diapers(3), Bread(2), Milk(2), Eggs(1), Cola(1)''' 와 같다.
2회(66%): Bread, Milk
신뢰도라는 지표를 뽑은 이유는 특정 수치 이상의 값만 의미가 있다고 주장할 수 있는 기준을 설정할 수 있기 때문이다. 기준을 50% 이상으로 보면 Diapers, Bread, Milk 정도가 추천 가능한 물품이 되겠네요. 하지만 뭔가 이상하죠?
\(support(\{Beer\} \to \{Bread\}) = \cfrac{2}{5} = 40%\)
그럼 Bread와 Milk는 어느 것이 더 우위에 있을까? 여기서 하나의 지표를 더 사용해 보자.
Bread와 Milk는 신뢰도와 지지도의 값이 같다. 하지만 구지 둘 중 하나를 꼽자면 어떤 것을 추천하는 것이 좋을까?
향상도(lift)는 A, B 두 제품의 신뢰도 대비 B 상품의 출현 빈도로 계산할 수 있다. Beer와 Bread의 신뢰도와 Beer와 Milk의 신뢰도는 66%로 같다. 하지만 Bread의 출현 빈도가 Milk보다 한번 더 많기 때문에 아래와 같은 결과가 나온다.
\(lift(\{Beer\} \to \{Bread\}) = \cfrac{66\%}{80\%} = 0.825\)
1. 모든 frequent item set을 만든다. (support 값이 최소 기준을 넘는 모든 item set)
1. 위에서 찾은 frequent item set에 대해서 만들 수 있는 모든 assocation rule을 만들고, 이 중 confidence 값의 최소 기준(threshold)값을 넘는 rule을 찾는다.
- atrix_custom_rom . . . . 16 matches
1. [http://api.viglink.com/api/click?format=go&drKey=1359&loc=http%3A%2F%2Fforum.xda-developers.com%2Fshowthread.php%3Ft%3D1136261&v=1&libid=1310607830028&out=http%3A%2F%2Fdiamantephoto.com%2FIHOP_Bell.rar&ref=http%3A%2F%2Fcafe.naver.com%2FArticleRead.nhn%3Farticleid%3D1062533%26clubid%3D19929459&title=%5BPUDDING%5D%20International%20House%20of%20Pudding!%20(Unlock%20your%20Bootloader%2C%20ATT%2C%20and%20Int'l)%20-%20xda-developers&txt=http%3A%2F%2Fdiamantephoto.com%2FIHOP_Bell.rar Unlocker SBF]
fastboot reboot
[https://www.dropbox.com/s/syngsdhof1pk1cr/recovery-atrix5.img 리커버리 이미지]
fastboot flash recovery [img 파일 경로]
fastboot reboot
[https://www.dropbox.com/s/re64dqkw47ki6f2/gapps-jb-20120726-signed.zip 구글앱스]
Android recovery mode로 설정하고 볼륨 업 버튼을 누르면 리커버리 모드로 진입 합니다.
1. wipe data/factory reset
[https://play.google.com/store/apps/details?id=com.rhmsoft.fm&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiY29tLnJobXNvZnQuZm0iXQ.. 파일 관리자 ]
[https://play.google.com/store/apps/details?id=com.pandaroid.pandaclock&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5wYW5kYXJvaWQucGFuZGFjbG9jayJd 판다 시계 위젯]
Q1. 리커버리 까지 다 깔고 android recovery들어가서 실행시키니 강좌에 나온 화면은 말고 안드로이드 보이에 삼각형 느낌표만 떠욧!!!!
- autoencoder . . . . 4 matches
#title Autoencoder review
* 작성자: 김환선(iou78@nims.re.kr)
앞 장에서 autoencoder의 구조와 의미에 대해서 알아보았다. 구조와 의미는 알았는데 이것을 어디에 사용할가? Variational autoencoder로 확장되면서 다양한 분야에서 여러가지 목적으로 사용되어지고 있지만 단순 autoencoder만을 가지고 응용할 수 있는 분야는 많지 않다. 가장 대표적인 응용분야를 꼽자면 차원축소(Dimensionality reduction)가 되겠다.[* Urwa Muaz. (25 Jul 2019). <https://towardsdatascience.com/autoencoders-vs-pca-when-to-use-which-73de063f5d7>.]
= Reference =
- auxMVC . . . . 8 matches
라이고 초기, 아직 중력파를 관측하기 전, 레이저 간섭계를 만들고(Since 2001.) 6번의 과학관측을 시도 했다. 이 관측과정 동안 중력파는 검출 되지 않았지만 많은 데이터를 축적했고 이 것들을 활용해서 중력파 검출기 특성(Detector Characterization) 연구를 진행했다. 이와 같은 연구중 하나로 중력파 검출기 주변에 설치된 다양한 센서(Auxiliary channel)로 부터 수집된 방대한 데이터를 활용해서 중력파 검출기에 직접적으로 영향을 주는 센서와 그렇지 않은 센서(safe channel)를 분류하고 그런 센서들 중 특정 조건이나 환경에서 중력파 검출기에 영향을 주는 경우를 확인하고 센서 데이터로 부터 중력파 검출기의 신호가 잡음임을 판별하는 일을 다양한 머신러닝 알고리즘으로 수행하였다.[* Rahul Biswas et al. '''Application of machine learning algorithms to the study of noise artifacts in gravitational-wave data''', Phys. Rev. D, 2013, https://arxiv.org/abs/1303.6984]
본 논문에서는 6번째 과학관측 데이터중 10%를 갖고 수행하였으며, Random Forest, Support Vector Machine, Artificial Neural Network 등 머신러닝 알고리즘을 적용하여 비슷한 결과를 얻었다.
* 중력파 채널에 나타난 신호가 보조 채널에 반영되는 경우가 있다. 이 경우 보조 채널을 분석에 활용해서 노이즈를 검출하게 되면 중력파도 노이즈로 분석하게 된다. 이것을 막기 위해서 중력파 채널에 임의의 노이즈를 삽입한다. (Hardwhare injection) 이렇게 삽입한 신호가 보조 채널에 나타난다면 이 채널은 "unsafe"하다고 정의하고 이러한 분석에 사용하지 않는다. 사용되는 채널들은 "safe" 채널이라고 한다.
= Data Preparation =
* Non-Gaussian trnsient 신호를 검출하는 방법으로 '''Kleine Welle'''이라는 방법을 사용하고 5가지 feature 데이터를 뽑아준다.
* \(f\): The central frequency of the auxiliary channel transient.
* \(n\): The number of wavelet coefficients clustered to form the auxiliary channel transient
* S6기준 250개 채널, S4 기준 162개 채널 사용. 한 채널당 5개의 feature를 사용해서 1250(810)개의 input vector 를 갖는 \(x\) 정의.
attachment:result.png?width=1000px
- auxcam_job . . . . 56 matches
= Data preparation =
172.21.2.57(일명 titanv) work/auxcam/ 폴더에 AuxCAM Data Read.ipynb 파일에서 작업을 수행하고 있음.
H1_Aux_list = [a.strip() for a in f.readlines()]
L1_Aux_list = [a.strip() for a in f.readlines()]
== Reduced Channel list ==
767개의 채널을 모두 사용하기에는 메모리 사용량이 너무 크기 때문에 reduced channel list를 사용하고 그 중에서 데이터가 없거나 변화가 없이 일정한 값이 출력되는 채널을 제거하였다.
l1_o1_safeChannel = 'data/L1-O1-reduced-safe.txt'
L1_Aux_list = [a.strip() for a in f.readlines()]
L1_Aux_list.remove('L1:ASC-INP1_P_OUT_DQ')
L1_Aux_list.remove('L1:OMC-PZT1_MON_DC_OUT_DQ')
L1_Aux_list.remove('L1:LSC-POPAIR_B_RF18_I_ERR_DQ')
L1_Aux_list.remove('L1:ASC-X_TR_B_NSUM_OUT_DQ')
L1_Aux_list.remove('L1:ASC-Y_TR_A_YAW_OUT_DQ')
L1_Aux_list.remove('L1:ASC-Y_TR_B_NSUM_OUT_DQ')
L1_Aux_list.remove('L1:IMC-ISS_QPD_SUM_IN1_DQ')
L1_Aux_list.remove('L1:IMC-ISS_QPD_SUM_OUT_DQ')
L1_Aux_list.remove('L1:PEM-CS_TILT_LVEA_VERTEX_X_DQ')
L1_Aux_list.remove('L1:ASC-INP1_Y_OUT_DQ')
L1_Aux_list.remove('L1:ASC-PRC1_P_OUT_DQ')
L1_Aux_list.remove('L1:ASC-PRC1_Y_OUT_DQ')
- auxcam_paper . . . . 11 matches
Albert Einstein predicted gravitational waves on the basis of his general theory of relativity in 1916. After about 100 years, on 14 September 2015, we observed the first gravitational wave which was a black hole binary merger.[1] Laser interferometer gravitational-wave observatory(LIGO) yielded 67 gravitational wave detections from the first detection to the last observation running(O3b). For such a successful detection, studies on detector characterization are required. One of these studies is ”Gravity Spy” using citizen science.[2] This project presents a classification of a noise characteristic known as glitches from LIGO detectors that are not gravitational waves. So far, only the morphological classification of the imaged glitches is performed. As another study, there was a study to determine whether the signal of the gravitational wave channel is a glitch or not using only the LIGO auxiliary channel data.[3] Again, this could only provide fragmentary information about whether it was a glitch or a clean one. So, based on the knowledge obtained through the two studies, we tried to train deep learning models using LIGO auxiliary channel data and performed the task of classifying the glitches.
In this work, we study the correlation between both the morphological classified glitches and the LIGO auxiliary channel data.
= Data Preparation =
= Result =
= References =
- auxcam_script . . . . 8 matches
지금 보시면 Low Frequency Line, Whistle, Helix, Low Frequency Burst, Blip, Scratchy 등의 예를 보실 수 있습니다. 이 외에도 다양한 형태의 글리치가 존재합니다.
검출기는 각 분야에서 최고의 기술력을 집약해서 만들어졌습니다. 각 모듈마다 기능을 검증하고 모니터링하기 위한 센서들을 포함하고 있습니다. 센서마다 측정하는 것이 다른고 단위가 다릅니다. 또한 중력파 검출기와 직접적인 상관성이 있을 수도 있고 그렇지 않을 수도 있습니다. Input mode clearer와 output mode clearer처럼 중력파 검출기와 직접적으로 연관이 있는 모듈들의 센서는 중력파 채널과 상관성이 높은 센서들이 다수 존재할 수 있습니다. 이러한 센서들을 unsafe channel이라고 하고 직접적인 연관성이 없는 센서들을 safe channel이라고 합니다.
첫번째 2차원 컨볼루션의 커널 모양을 보시면 1차원 형태로 긴 모양을 하고 있는 것을 보실 수 있습니다. 첫번째 컨볼루션에서 time domain에서 frequency domain으로 변환이 된다고 해석하고 있습니다. 일종의 특정 주파수 성분을 추출하는 메치드 필터를 학습했다고 해석하고 있습니다. 때문에 필터의 길이를 원 신호의 sampling frequency의 절반으로 설정하면 2Hz 이상의 신호 성분을 추출할 수 있다고 논문에서 이야기 하고 있습니다.
첫번째 2차원 Conv에서 frequency domain으로 넘어오고 채널 방향으로 데이터가 썩이지 않도록 주파수 성분의 특징을 추출하면서 중간 결과를 채널 방향으로 합쳐 특징을 추출하고 Global Average Pooling으로 압축해서 Dense network에 전달하도록 설계되었습니다.
이 실험은 이미지의 한부분을 가리고 학습된 convolution network에 사용하였을때 Prediction 수치의 감소 정도를 heatmap으로 표현해서 convolution network가 classification을 수행할때 주변 정보RK 아닌 객채를 기준으로 판별한다는 것을 확인했습니다.
- back_end_lcd . . . . 2 matches
System module base address '''0x01c40000'''
= Back End register =
- bandwidth_test . . . . 37 matches
|'''표 1. OpenCL Memory Object Properties |<tablewidth="700px"><|2> clCreateBuffer/clCreateImage Flags Argument'''||<|2> Device Type ||<|2> Location |||| clEnqueueMapBuffer/clEnqueueMapImage/clEnqueueunMapMemObject ||
(none of the following flags) || Discrete GPU || Device memory ||<|2> Copy ||<|3> Host memory(different memory area can be used on each map). ||
|| CPU || Use Map Location directly || Zero Copy ||
(clCreateBuffer when VM[[footnote(Virtual Memory)]] is enable) || Discrete GPU ||<|3> pinned host memory shared by all devices in context(unless only device in context is CPU; the, host memoy) ||<|3> Zero Copy ||<|3> Use Location directly (same memory area is used on each map). ||
(clCreateBuffer without VM) || Discrete GPU || Device memory ||<|3> Copy ||<|3> Pinned host memory, unless only device in context is CPU; then, host memory (same memory area is used on each map). ||
(when VM is enabled) || Discrete GPU || Host-visible Device memory ||<|3> Zero Copy ||<|3> Use Location directly (different memory area can be used on each map). ||
호스트 프로그램에서는 당연히 접근가능하나 디바이스에서는 접근이 불가능하다. 디바이스로 전달하기 위해서는 '''clEnqueuReadBuffer/ClEnqueueWriteBuffer'''를 통해서 전달해야 한다.
현재 runtime은 clEnqueueReadBuffer/ClEnqueueWriteBuffer 와 clEnqueueReadImage/clEnqueuWriteImage 의 인자로 넘어온 Pinned host memory만을 인지하고 동작한다.
CPU 입장에서는 로컬 메모리로 인식 되기 때문에 Pinned Host memory를 접근할때 cache를 사용해서 접근하게 된다. 이 때문에 GPU는 '''CPU cache coherency protocol'''[[footnote(Pinned Host Memory는 호스트 메모리를 CPU와 GPU가 같이 사용하게 되는데 실제 사용할 때 CPU는 cache를 사용해서 호스트 메모리의 일부(''cache line'')를 복사해서 사용하게 된다. 이 때 GPU가 DMA를 통해서 메모리를 업데이트 하게 되면 CPU와 GPU가 사용하는 메모리의 값의 불일치가 이러나게 되는데 이것을 해결하기 위한 방법이 필요하게 된다. 보통의 경우 snoopy protocol, directory-based protocol 같은 하드웨어 CPU cache coherency protocol을 사용한다(MSI, MESI, MOESI... etc). 프로그래머가 접근할 수 있는 방법으로는 명시적 캐시 플러시(flush)나 invalidate 명령어를 사용한다.)]]을 사용해서 접근해야 한다.
결국은 Host Memory인데, Pinned Host Memory와 차이라면 Runtime이 GPU가 '''CPU cache coherency protocol'''을 사용하지 않고 바로 접근 할 수 있도록 해준다는 것이다.
'''clCreateBuffer'''로 메모리 객체를 선언할때 CL_MEM_ALLOC_HOST_PTR | CL_MEM_READ_ONLY로 선언하게 되면 ''Uncached write-combined memory''로 메모리가 잡히게 된다.(maybe)
Host위치 하기 때문에 Host에서는 읽고 쓰기가 가능하지만 CL_MEM_READ_ONLY로 선언했기 때문에 디바이스에서는 읽기만 가능하다.
APU의 경우엔 CPU와 GPU가 물리적으로 동일한 메모리를 Share 하기 때문에 둘 사이의 메모리 접근은 Zero Copy로 이루워진다.
'''Streaming CPU writes perform mush better because the reduce PCIe overhead.'''
'''clCreateBuffer'''로 메모리 객체를 선언할때 CL_MEM_USE_PERSISTENT_MEM_AMD flag를 사용해서 선언하는데 사용할 수 있는 버퍼의 용량이 제한 된다.
= Create Memory Objects =
아래는 메모리 객체(cl_mem)을 생성하는 함수인 clCreateBuffer() 함수의 프로토타입이다.
cl_mem clCreateBuffer ( cl_context context,
cl_int *errcode_ret)
||CL_MEM_READ_WRITE ||커널에서 쓰기/읽기를 수행한다고 명시 (Default) ||
- batch_normalization . . . . 18 matches
* 작성자: 김환선(iou78@nims.re.kr)
Batch Normalization[* ''Sergey Ioffe, Christian Szegedy'', '''"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift"''', ICML (2015) <https://arxiv.org/abs/1502.03167>]은 2015년 ICML에 발표되어 지금까지 많이 사용되고 있는 기술이다. 딥러닝의 학습 속도 향상을 위해 사용되는 기술이지만 속도 향상뿐만 아니라 다양한 이슈에 적용되고 있기 때문에 하나씩 정리해 보려고 한다. 이와 유사한 Self-Normalizing Neural Networks (NIPS,2 2017)[* https://pod3275.github.io/paper/2019/03/27/SELU.html]논문도 있는데 이건 다음 기회에...
\def \layerthree {f_2(\underbrace{\layertwo}_{s_2}) \cdot w_3}
y &= f_3(\underbrace{\layerthree}_{s_3}) \\
이 문제를 해결하기 위한 대안으로 ReLU(Nair & Hinton, 2010)를 사용하거나, cafeful initialization (Bengio & Glorot, 2010; Saxe et al., 2013)을 통해서 안정적인 초기값을 설정하거나 learning rate를 작게 취하는 등의 전략을 사용했다. 하지만 이러한 것들이 문제를 해결하는 실질적인 방법은 되지 못했다.
이러한 문제를 해결하기 위한 획기적인 방법이 두개가 있는데, 그것이 바로 2015년에 발표된 BN(Batch Normalization)과 Residual Network이다.
이처럼, 학습하는 도중에 이전 레이어의 파라미터 변화로 인해 현재 레이어의 입력 분포가 바뀌는 형상을 ''Internal Covariate shift''라고 한다. 이것은 마치 TV 예능에서 귀마개를 하고 상대방의 입 모양을 보고 무슨 말인지를 알아내는 게임과 비슷하다.[* http://blog.naver.com/PostView.nhn?blogId=laonple&logNo=220808903260&parentCategoryNo=&categoryNo=21&viewDate=&isShowPopularPosts=true&from=search]
* Shift in the relationship between the independent and the target variable ('''Concept Shift''')
&\textbf{output: } \texttt{Batch-normalized network for inference, } N_{BN}^{inf}
7:&\ N^{inf}_{BN} \leftarrow N^{tr}_{BN} \qquad \texttt{// Inference BN network with frozen parameters}\\
11:&\qquad \texttt{In } N^{inf}_{BN}, \texttt{ replace the transform } y = \texttt{BN}_{\gamma, \beta}(x) \texttt{ with } \\
training과 inference 단계에서 normalize에 사용하는 평균 분산이 다름을 위 알고리즘에서 설명하고 있다. 위 알고리즘은 두 부분으로 나눌 수 있는데 입력 \(x^{(k)}\)의 \(k\)는 입력 x의 각 차원에 해당하는 attribute이고 '''알고리즘 1'''에 의해서 구해진 \(\mucal, \sigcal, \gamma, \beta\)에 의해서 \(y^{(k)}\)를 계산해서 다음 레이어의 입력으로 사용한다.
relu = torch.nn.ReLU()
bn_model = torch.nn.Sequential(bn_linear1, bn1, relu, bn_linear2, bn2, relu, bn_linear3).to(device)
nn_model = torch.nn.Sequential(nn_linear1, relu, nn_linear2, relu, nn_linear3).to(device)
bn_prediction = bn_model(X)
bn_loss = criterion(bn_prediction, Y)
nn_prediction = nn_model(X)
nn_loss = criterion(nn_prediction, Y)
- bicg_confugate_gradients . . . . 1 match
http://www.mathworks.co.kr/kr/help/matlab/ref/bicg.html
- bicycle . . . . 2 matches
Rolling efficiency 2.5, Wet Crip 3, Robustness 3, 3x120 TPI[* Tread Per Inch - 단위 인치당 트래드의 수, 타이어를 만들때 들어가는 섬유의 수로 높은 TPI 값을 가질 수록 가느다란 섬유질을 사용하여 구름 저항(rolling resistance)가 낮아지고 지면과의 밀착력이 좋아짐], 235g(25c)
- bucket_sort . . . . 5 matches
#include <iostream>
break;
break; // 빈값일시 다음 row 로 이동
cout << "Before Bucket Sorting" << endl;
return 0;
- c_1_ans . . . . 38 matches
1.Colby Tucker _______ public relations head by the CEO and will assume his post when the present head is transferred to another branch.
'''어휘''' public relations 홍보, 선전 head 부장, 책임자 assume a post 직책을 맡다 present 현재의, 지금의 transfer 전근하다, 옮기다 branch 지사, 지점
3.The chef was devastated when a food critic who ate at the restaurant _______ reviewed a meal he had eaten.
(B) appreciably
‘음식 평론가가 그가 먹은 음식에 대해 비판적으로 평가했을 때 요리사는 망연자실했다’라는 문맥이 되어야 하므로 ‘비판적으로, 불리하게’라는 뜻의 부사 (D) unfavorably가 정답이다. 참고로 (A) ultimately는 ‘결국, 궁극적으로’, (B) appreciably는 ‘눈에 띄게’, 그리고 (C) exclusively는 ‘배타적으로, 독점적으로’의 의미임을 알아둔다.
1.The team was completely surprised to learn that the proposal recommended by the supervisor for funding was _______.
2.The construction of a new metro rail route along a popular thoroughfare will be finished no later _______ March 19.
'''해석''' construction 공사, 건설 metro 지하철 route 노선, 경로 thoroughfare 주요 도로, 도로
3.Ever since the technology for smartphones and tablets became available, people check their messages and e-mails much more _______.
(D) frequently
‘사람들은 그들의 메시지와 이메일을 훨씬 더 자주 확인한다’라는 문맥이 되어야 하므로 ‘자주, 흔히’라는 뜻의 부사 (D) frequently가 정답이다. 참고로 (A) anxiously는 ‘근심하여, 걱정스럽게’, (B) consequently는 ‘그 결과, 따라서’, 그리고 (C) obviously는 ‘명백히, 분명히’의 의미임을 알아둔다.
1.The presenter _______ the profit scheme to the board of directors, which will confer final approval of the project and obtain capitalization.
'''해석''' presenter 발표자, 진행자 profit 수익, 수입 scheme 계획, 설계 the board of directors 이사진 confer 주다, 하다 approval 승인, 인가 capitalization 투자, 자본화
2._______ regular and special meals will be served in-flight, but passengers must submit meal requests at least one week in advance.
and와 함께 상관접속사를 이루는 (A) Both가 정답이다. 참고로 상관접속사 Both A and B가 명사구(regular meals)와 명사구(special meals)를 연결하고 있음을 알아둔다.
'''해석''' regular 일반적인, 보통의 serve (음식 등을) 제공하다, 내다 in-flight 기내의, 비행중의 passenger 승객 submit 제출하다 in advance ~ 전에, 미리, 사전에
3._______ students arrived to attend a free seminar on career management, but the organizers had to turn some of them away for lack of space.
'''해석''' attend 참석하다, 출석하다 career management 경력관리 organizer 주최자, 조직자 turn somebody away ~를 돌려보내다 lack 부족, 결핍
1.The tour group questioned the museum guide _______ the artifacts on display and asked if souvenirs were on sale.
2.There were no more slots _______ for an elective course the student wanted to take, so she decided to postpone enrolling in the subject.
- caffe_installation . . . . 13 matches
[https://www.reddit.com/r/deepdream/comments/3cd1yf/howto_install_on_ubuntulinux_mint_including_cuda/ reddit]글 참조.
./configure
sudo apt-get install --no-install-recommends libboost-all-dev
= (recommended) Copying the files to your PATH =
sudo ln -s /home/${USER}/caffe/.build_release/tools/caffe.bin /usr/local/bin/caffe
sudo ln -s /home/${USER}/caffe/.build_release/lib/libcaffe.a /usr/local/lib/libcaffe.a
sudo ln -s /home/${USER}/caffe/.build_release/lib/libcaffe.so /usr/local/lib/libcaffe.so
for req in $(cat requirements.txt); do pip install $req; done
- centos_chrome_yum_install . . . . 9 matches
Enable Google YUM repository
Add following to /etc/yum.repos.d/google.repo file:
''Note: Both 32-bit and 64-bit repos can be placed in the same file.''
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
1. 먼저 chromium repository를 추가해 줍니다.
cd /etc/yum.repos.d
wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo
http://wiki.centos.org/TipsAndTricks/Firefox4onCentOS5
- cg_work_sparse_storage . . . . 9 matches
= Compressed Sparse Row (CSR) =
= Compressed Sparse Column (CSC) =
•values[] stores K (NZ + Z) values for each row
•col_idx[] stores K column indices for each row
•values[] and col_idx[] are in column-major order
const sampler_t sampler = CLK_ADDRESS_NONE | CLK_FILTER_NEAREST | CLK_NORMALIZED_COORDS_FALSE;
__kernel void mvm_0 (__global float * values, __global int * col_idx, __read_only image2d_t vec_in, __global float * vec_out, const int num_rows, const int nonzeros_per_row)
return;
sum += val * read_imagef(vec_in, sampler, (int2)col).x;
1. http://www.heterogeneouscompute.org/hipeac2011Presentations/OpenCL-SpMV.pdf
- cluster_install_work . . . . 44 matches
/home 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
/opt 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
sudo /etc/init.d/nfs-kernel-server restart
the names for the other hosts, one per line. When you are done with the
The current list of NIS servers looks like this:
Is this correct? y/n: y] y
make[1]: Entering directory `/var/yp/server.world'
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating shadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.bygid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byaddr...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byservicename...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating netid.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating protocols.byname...
- cmake_guide . . . . 2 matches
cmake_minimum_required(VERSION 2.8)
- cockpit . . . . 1 match
add “include = registry” under [global] section
- coding_role . . . . 3 matches
return 0;
http://blog.naver.com/cibangbird?Redirect=Log&logNo=114087987
http://www.khronos.org/registry/cl/specs/opencl-1.2.pdf
- coffee_index . . . . 1 match
= 콜롬비아 수프리모 (Colmbia supremo) =
- config.php . . . . 7 matches
$no_register=1; # 1 : do not allow to register anymore
$control_read=1; # control read action also
FrontPage Anonymous allow read
$auto_linebreak= 1; # NoSmoke style insert <br> automatically
- contrasive_learning . . . . 2 matches
https://pure.tue.nl/ws/portalfiles/portal/211762122/Ninawe_A.pdf
https://koreascience.kr/article/JAKO201724963133259.pdf
- contrastive_self_supervised_learning . . . . 8 matches
여러 최신 ML들은 학습 과정에서 사용되는 학습 신호 형식으로 사람이 제공하는 레이블(label)이나 보상(reward)에 의존하는 경향이 크다. 그러나 Direct-Semantic Supervision의 과도한 의존성에는 몇 가지 문제들이 다음과 같이 있다:
:고차원 문제에서는 Direct Supervision에 의존할 수 없고, RL과 같은 문제에서는 레이블을 획득할 수 있는 마진가가 비싸다.
||* '''Generative / Predictive method''' [[br]] Output 공간에서 측정된 손실 [[br]] 예: Colorization, Auto-Encoders ||* '''Contrastive method''' [[br]] Representation 공간에서 측정된 손실 [[br]] 예: TCN, CPC, Deep-InfoMax ||
Contrastive 방법은 긍정적인 사례와 부정적인 사례를 대조하여 representation을 학습한다. 새로운 패러다임은 아니지만, Unsupervised Contrastive 사전 훈련으로 컴퓨터 비전 분야에서 큰 경험적 성공을 이끌었다.(RBM의 학습 알고리즘과 유사한것 같은데.. 조사가 필요함)
https://m.blog.naver.com/PostView.nhn?blogId=kmkim1222&logNo=221524681282&proxyReferer=https%3A%2F%2Fwww.google.com%2F
- cpp_algorithm_median_finding . . . . 7 matches
FLOAT ret;
ret = (vec[n/2 - 1] + vec[n/2]) / 2;
ret = vec[n/2];
return ret;
[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/lecture-notes/MIT6_046JS12_lec01.pdf Introduction & Median Finding], MIT Lecture note
- cpp_programming_boost_lib . . . . 8 matches
Atomic, Coroutine, Lockfree, Multiprecision, Odeint. Updated Libraries: Algorithm, Array, Asio, Bimap, Chrono, Container, Context, Geometry, GIL, Graph, Hash, Interprocess, Intrusive, Lexical Cast, Locale, Math, MinMax, Move, Polygon, Random, Range, Ratio, Regex, Smart Pointers, StringAlgo, Thread, Utility, Unordered, Variant, Wave and xpressive.
RedHat Linux의 경우,
RedHat 계열의 리눅스(CentOS)에서는 Boost Library가 개별적으로 지원되는 경우가 없다고 합니다. boost가 패키지 목록에 포함되어 있지 않다면, Windows에 설치 항목에 링크를 따라가 Unix용으로 tar 파일을 받으신 후 소스 설치하셔야 합니다.
#include <iostream>
return 0;
kreutzer1986
- cpp_warning_tip . . . . 12 matches
When passing literals and not other const string, and you are not sure if the library is modifiying the string, is easy to create a stack allocated temporary copy of the literal in C++ (inspired by How to get rid of `deprecated conversion from string constant to ‘char*’` warnings in GCC?):
Note: You can use this only when you are sure the function is really never modifying the string passed (i.e. when the function could be declared as const char *, but it is not, perhaps because the library writer has forgotten to add it). An attempt to modify a string literal is an undefined behaviour and on many platforms it results in a crash. If you are not sure, you need to make a writeable copy of the string, which may be dynamically allocated or even stack allocated, when you know some upper limit for the string size.
- cprogramming_file_inout . . . . 16 matches
return -1 ;
return 0 ;
return 0;
// 파일 입출력에서는 open, read, write, close 함수가 기본이다.
int readcnt;
O_CREATE 해당파일이 없으면 파일을 생성한다.
예fd = open("Jeong", O_RDONLY | O_CREATE, 0644)
예fd = open("Jeong", O_WRONLY | O_TRUNC | O_CREATE, 0644)
if ((fd2 = open(argv[2], O_WRONLY | O_CREATE | O_TRUNC, 0644)) == -1) {
perror("Create Failed");
read 함수
ssize_t read(int fd, void *buf, size_t nbytes);
readcnt = read(fd1, buf1, MAX);
//읽을 데이터가 없으면 read 함수는 0을 리턴하게된다.
if(readcnt == 0)
break;
else if(readcnt < 0)
printf("read error exit\n");
if( write(fd2, buf1, readcnt) == -1 )
- cross_entropy . . . . 10 matches
#title Variational Inference
평균, 기댓값이라고 하면 보통은 어떤 값(변수)에 대한 기댓값만을 생각하는데 함수에 대한 기댓값도 계산할 수 있다.[* Kiho Hong (5 Apr 2017). <https://www.slideshare.net/lovelykihohong/variational-inference-intro-korean-ver>. (16 Jan 2018)]
* 머신러닝에서 loss function[* Kaka (4 Apr 2017). "Cross-entropy/softmax 정리".<https://kakalabblog.wordpress.com/2017/04/04/cross-entropy-%EC%A0%95%EB%A6%AC/>. (23 Jan 2018)] 으로 사용.
* it reduce variance
&= \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) - \log q_{\phi}(z^{(l)}|x) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
&= -D_{KL}(q_{\phi}(z|x)||p_{\theta}(z)) + \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
z = \mu_q + \sigma_q \cdot \epsilon\ \ \text{where}\ \ \epsilon \sim \mathtt{N}(0,1)
attachment:result.png
- cscope설정하기 . . . . 3 matches
Find this egrep pattern:
find 명령을 이용해서 recursive 하게 모든 파일에 적용 할 수 있다.
if filereadable("./cscope.out")
- ctags . . . . 1 match
Ctags generates an index(or tag) fileof language objects found in source files tha allows these items to be quickly and easily located by a text editor or other utility. A ''tag'' signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object)
Assembler, AWK, ASP, BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python, REXX, Ruby, S-Lang, Scheme, Tcl, Vim, and YACC.
- cubic_spline_interpolation_note . . . . 7 matches
return true;
return true;
return 2.0*t*t*t - 3.0*t*t +1;
return t*(1.0-t)*(1.0-t);
return t*t*(3.0-2.0*t);
return t*t*(t-1.0);
return true;
- cv_report1 . . . . 127 matches
derivation 계산을 위해 sobel filter[* https://kr.mathworks.com/help/images/ref/fspecial.html]를 사용했음.
2. '''Harris measure'''
Harris measure를 계산하기 위해서 두개의 수식을 사용하였는데 아래의 수식이 더 좋은 결과를 보여줬음.
ordfilt2함수를 사용해서 일정 영역 안에서 가장 큰 값을 취하고 취해진 값이 설정한 threshold 이상인 경우의 좌표를 구함.
result = (R == mx) & (R > threshold);
[rows, cols] = find(result);
가우시안 필터[* https://stackoverflow.com/questions/27499057/how-do-i-create-and-apply-a-gaussian-filter-in-matlab-without-using-fspecial-im]는 시그마와 필터의 길이를 입력으로 받도록 했고 필터의 길이는 홀수가 되도록 강제했다. 가우시안 필터의 중앙이 대상 픽셀에 위치하기 위함.
||attachment:origin1.png?width=400px||attachment:result1.png?width=400px||
||attachment:origin2.png?width=400px||attachment:result2.png?width=400px||
= SIFT (Scale Invariant Feature Transform) Detector and Descriptor =
flat 영역과 안 좋은 curvature를 영역을 제거 하기 위한 값으로 0.5와 10을 사용했습니다.
r_curvature = 10; % r_curvature < 10
threshold = 0.5;
2. '''Scale-space Extrema Detection & Keypoint Localization'''
attachment:sift_local_extrema.jpg?width=400px
* 위에서 구해진 Diffence of Gaussian에서 자기 자신을 중심으로 위 아래 3x3x3 영역을 설정하고 자기 자신이 가장 크거나 적은 경우를 extrema로 취함.
* \(|D(X)| < 0.5\) 이면 제거.[* https://courses.cs.washington.edu/courses/cse576/06sp/notes/Interest2.pdf]
* \(H = \left [ \begin{matrix} D_{xx} \ \ D_{xy} \\ D_{xy}\ \ D_{yy} \end{matrix}\right ]\), \(r=\cfrac{\text{Trace}(H)^2}{|H|}\) r이 threshold보다 크면 extrema 제거.
current = cell2mat(DoG((i-1)*levels+j+1));
[sx,sy] = size(current);
- cv_report2 . . . . 43 matches
이미지 두장에서 특징점을 추출하고 매칭하여 하나의 이미지로 합치는 과정에 대해서 설명한다.[* https://www.cs.ubc.ca/grads/resources/thesis/May09/Dubrofsky_Elan.pdf] 이 과정 중에 사용한 함수와 알고리즘에 대해서 설명하고 각각에 결과를 보이도록 하겠다.[* https://cvl.gist.ac.kr/wp-content/uploads/2014/09/lecture03_projective1.pdf]
사용한 영상과 일부 코드는 David lowe 교수의 Demo Software : SIFT keypoint Detector[* http://www.cs.ubc.ca/~lowe/keypoints/]를 참조했다.
기본적인 알고리즘 구현은 MATLAB을 사용하였으며, SIFT는 MATLAB에서 제공하지 않기 때문에 opencv의 sift[* https://docs.opencv.org/3.0-beta/doc/user_guide/ug_features2d.html#descriptors]를 사용하였고 matlab에서 호출하여 사용하는 방식으로 구현하였다.
#include <iostream>
#include <fstream>
#include "opencv2/core.hpp"
#include "opencv2/features2d.hpp"
#include "opencv2/xfeatures2d.hpp"
using namespace cv::xfeatures2d;
void readme();
int nfeatures = 0;
{ readme(); return -1; }
Mat img = imread( argv[1], IMREAD_GRAYSCALE );
{ std::cout<< " --(!) Error reading images " << std::endl; return -1; }
Ptr<SIFT> detector = SIFT::create(0);
std::ofstream locf("locs.txt");
std::ofstream desf("descriptors.txt");
return 0;
/** @function readme */
void readme()
- cv_report3 . . . . 53 matches
= Stereo Matching =
사용할 영상은 Daniel Scharstein의 2003년 CVPR 논문에 사용한 ''Cones''와 ''Teddy'' [* Daniel Scharstein. (16 Jen 2015). "2003 Stereo datasets with ground truth" <http://vision.middlebury.edu/stereo/data/scenes2003/>. (2 Dec 2017)] 사진을 사용하겠다.
census transform은 자기 자신을 중심으로 하는 3x3 윈도우를 설정하고 주변 이웃 픽셀과 비교했을때 자기 자신보다 작으면 '1', 그렇지 않으면 '0'로 정의되는 8개의 바이너리를 내어준다. [* R. Zabih, J. Woodfill, "Non-parametric Local Transforms for Computing Visual Correspondence", ECCV, 1994] 이렇게 찾은 바이너리쌍을 Hamming distance로 비교해서 intensity difference를 계산한다.
'''출처''': ''Jaeryun Ko'', ''Yo-Sung Ho'', APSIPA, 2016[* Jaeryun Ko, Yo-Sung Ho, "Stereo Matching using Census Transform of Adaptive Window Sizes with Gradient Images", APSIPA, 2016]
function ret=census(img)
ret = zeros(size_x-4,size_y-4,24);
ret(:,:,1) = gray(3:size_x-2,3:size_y-2)>gray(1:size_x-4,1:size_y-4);
ret(:,:,2) = gray(3:size_x-2,3:size_y-2)>gray(1:size_x-4,2:size_y-3);
ret(:,:,3) = gray(3:size_x-2,3:size_y-2)>gray(1:size_x-4,3:size_y-2);
ret(:,:,4) = gray(3:size_x-2,3:size_y-2)>gray(1:size_x-4,4:size_y-1);
ret(:,:,5) = gray(3:size_x-2,3:size_y-2)>gray(1:size_x-4,5:size_y);
ret(:,:,6) = gray(3:size_x-2,3:size_y-2)>gray(2:size_x-3,1:size_y-4);
ret(:,:,7) = gray(3:size_x-2,3:size_y-2)>gray(2:size_x-3,2:size_y-3);
ret(:,:,8) = gray(3:size_x-2,3:size_y-2)>gray(2:size_x-3,3:size_y-2);
ret(:,:,9) = gray(3:size_x-2,3:size_y-2)>gray(2:size_x-3,4:size_y-1);
ret(:,:,10) = gray(3:size_x-2,3:size_y-2)>gray(2:size_x-3,5:size_y);
ret(:,:,11) = gray(3:size_x-2,3:size_y-2)>gray(3:size_x-2,1:size_y-4);
ret(:,:,12) = gray(3:size_x-2,3:size_y-2)>gray(3:size_x-2,2:size_y-3);
ret(:,:,13) = gray(3:size_x-2,3:size_y-2)>gray(3:size_x-2,4:size_y-1);
ret(:,:,14) = gray(3:size_x-2,3:size_y-2)>gray(3:size_x-2,5:size_y);
- dailynote_01_12_2014 . . . . 2 matches
''1802: unauthorized network card is plugged in power off and remove the mini pci network card''
http://www.openfirmware.info/OpenBIOS
- data_mining_weka . . . . 62 matches
"UCI machine learning repository"[* http://archive.ics.uci.edu/ml/datasets.html] 에서 ''Pen-Based Recognition of Handwritten Digits''[* http://archive.ics.uci.edu/ml/machine-learning-databases/pendigits/pendigits.names]와 ''letter recognition''[* http://archive.ics.uci.edu/ml/machine-learning-databases/letter-recognition/letter-recognition.names] 데이터 [* https://github.com/renatopp/arff-datasets] 사용해서
== Pen-Based Recognition of Handwritten Digits ==
Number of Attributes are 16 input and 1 class attribute.
All input attributes are integers in the range (0 .. 100).
Correctly Classified Instances 10918 99.3268 %
Incorrectly Classified Instances 74 0.6732 %
Root mean squared error 0.0367
Relative absolute error 0.8609 %
Root relative squared error 12.2259 %
=== Decision Tree (J48) ===
Correctly Classified Instances 10588 96.3246 %
Incorrectly Classified Instances 404 3.6754 %
Root mean squared error 0.0834
Relative absolute error 4.7383 %
Root relative squared error 27.8058 %
Correctly Classified Instances 10487 95.4057 %
Incorrectly Classified Instances 505 4.5943 %
Root mean squared error 0.0856
Relative absolute error 9.2519 %
Root relative squared error 28.535 %
- data_mining_weka2 . . . . 147 matches
1. biscuits=t frozen foods=t fruit=t total=high 788 ==> bread and cake=t 723 <conf:(0.92)> lift:(1.27) lev:(0.03) [155] conv:(3.35)
2. baking needs=t biscuits=t fruit=t total=high 760 ==> bread and cake=t 696 <conf:(0.92)> lift:(1.27) lev:(0.03) [149] conv:(3.28)
3. baking needs=t frozen foods=t fruit=t total=high 770 ==> bread and cake=t 705 <conf:(0.92)> lift:(1.27) lev:(0.03) [150] conv:(3.27)
4. biscuits=t fruit=t vegetables=t total=high 815 ==> bread and cake=t 746 <conf:(0.92)> lift:(1.27) lev:(0.03) [159] conv:(3.26)
5. party snack foods=t fruit=t total=high 854 ==> bread and cake=t 779 <conf:(0.91)> lift:(1.27) lev:(0.04) [164] conv:(3.15)
6. biscuits=t frozen foods=t vegetables=t total=high 797 ==> bread and cake=t 725 <conf:(0.91)> lift:(1.26) lev:(0.03) [151] conv:(3.06)
7. baking needs=t biscuits=t vegetables=t total=high 772 ==> bread and cake=t 701 <conf:(0.91)> lift:(1.26) lev:(0.03) [145] conv:(3.01)
8. biscuits=t fruit=t total=high 954 ==> bread and cake=t 866 <conf:(0.91)> lift:(1.26) lev:(0.04) [179] conv:(3)
9. frozen foods=t fruit=t vegetables=t total=high 834 ==> bread and cake=t 757 <conf:(0.91)> lift:(1.26) lev:(0.03) [156] conv:(3)
10. frozen foods=t fruit=t total=high 969 ==> bread and cake=t 877 <conf:(0.91)> lift:(1.26) lev:(0.04) [179] conv:(2.92)
1. [fruit=t, frozen foods=t, biscuits=t, total=high]: 788 ==> [bread and cake=t]: 723 <conf:(0.92)> lift:(1.27) lev:(0.03) conv:(3.35)
2. [fruit=t, baking needs=t, biscuits=t, total=high]: 760 ==> [bread and cake=t]: 696 <conf:(0.92)> lift:(1.27) lev:(0.03) conv:(3.28)
3. [fruit=t, baking needs=t, frozen foods=t, total=high]: 770 ==> [bread and cake=t]: 705 <conf:(0.92)> lift:(1.27) lev:(0.03) conv:(3.27)
4. [fruit=t, vegetables=t, biscuits=t, total=high]: 815 ==> [bread and cake=t]: 746 <conf:(0.92)> lift:(1.27) lev:(0.03) conv:(3.26)
5. [fruit=t, party snack foods=t, total=high]: 854 ==> [bread and cake=t]: 779 <conf:(0.91)> lift:(1.27) lev:(0.04) conv:(3.15)
6. [vegetables=t, frozen foods=t, biscuits=t, total=high]: 797 ==> [bread and cake=t]: 725 <conf:(0.91)> lift:(1.26) lev:(0.03) conv:(3.06)
7. [vegetables=t, baking needs=t, biscuits=t, total=high]: 772 ==> [bread and cake=t]: 701 <conf:(0.91)> lift:(1.26) lev:(0.03) conv:(3.01)
8. [fruit=t, biscuits=t, total=high]: 954 ==> [bread and cake=t]: 866 <conf:(0.91)> lift:(1.26) lev:(0.04) conv:(3)
9. [fruit=t, vegetables=t, frozen foods=t, total=high]: 834 ==> [bread and cake=t]: 757 <conf:(0.91)> lift:(1.26) lev:(0.03) conv:(3)
10. [fruit=t, frozen foods=t, total=high]: 969 ==> [bread and cake=t]: 877 <conf:(0.91)> lift:(1.26) lev:(0.04) conv:(2.92)
- debian_release_info . . . . 1 match
#title Debian Release 정보
데비안은 stable, testing, unstable로 구분해서 릴리스[[footnote(http://www.debian.org/releases/index.ko.html)]]를 공개한다.
- deep_learning_transformer . . . . 3 matches
KISTI 교육 과정 - 이승우(swlee@kisti.re.kr)
HuggingFace에서 webUi를 설치하는 방법[* https://huggingface.co/blog/Alex1337/create-a-web-interface-for-your-llm-in-python]
https://github.com/hsd1503/resnet1d
https://github.com/geekfeiw/Multi-Scale-1D-ResNet
attachment:수면소리_1dResNet.pdf
- dft_fft_fourier_seriees_Transform . . . . 2 matches
시스템이 선형이고 시불변일 때 (LTI : linera time-invariant) 가장 유용한 신호의 표현 방법으로 복소 지수 신호의 집합\({e^{jwn}}\)에 기초하며 '''이산 신간 푸리에 변환'''(DTFT : Discrete-time Fourier Transform) 이라고 한다.
식 1.2와 식 1.3을 합하여 정리하면 역 이산 시간 푸리에 변화(IDTFT : inverse discrete-time Fourier transform)을 구할 수 있다.
X(e^{jw}) = \text{Re}\left[ X(e^{jw}) \right] + j\text{Im}\left[ X(e^{jw}) \right]
- diffusion . . . . 8 matches
이미지를 백터화 할 수 있는 방법으로 Clip을 이용해서 feature vector를 생성하는 방법을 사용하고 생성된 vector를 cosine simularity를 사용해서 비교한다.
https://github.com/ChaofWang/Awesome-Super-Resolution/blob/master/dataset.md
실습자료: https://github.com/younggon2/Education-ComputerVision-DeepLearning/tree/master
attachment:super_resulution.pdf
* conda create --name tf python=3.9
https://github.com/brendenlake/omniglot
https://sorenbouma.github.io/blog/oneshot/
https://pyimagesearch.com/2023/01/09/face-recognition-with-siamese-networks-keras-and-tensorflow/
https://blog.mathpresso.com/%EC%83%B4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EA%B2%80%EC%83%89%EA%B8%B0%EB%8A%A5-%EB%A7%8C%EB%93%A4%EA%B8%B0-f2af4f9e312a
- dm365_isif . . . . 14 matches
= ISIF Feathre =
* Various movie mode formats is provided via a data reformatter of ISIF, which transforms any specific sensor formats to the Bayer format. The maximum line width supported by the reformatter is 4736 pixels.
* Image processing steps applicable to Foveon sensors are limited to color-dependent gain control and black level offset control
* Progressive and interlaced sensors (hardware support for up to 2 fields and firmware support for higher number of fields, typically 3-, 4-, and 5-field sensors)
* Up to 32K pixels (image size) in both the horizontal and vertical direction
* YCbCr 422 format, either 8- or 16-bit with discrete H and VSYNC signals
* Vertical Line defect correction based on a lookup table that contains defect position
* 12-bit to 8-bit DPCM compression
* 10-bit to 8-bit A-law compression
* Generating output to range 16-bits, 12-bits (12bit data pack allows for 33% saving in storage area),and 8-bits wide (8-bits wide allows for 50% saving in storage area).
- dm365_wdr_driver . . . . 17 matches
1. armapp/wtt_apps/EncStream/MediaServer_webMulti/feature.h
== feature.h ==
regw(1, HST_EN);
return 1;
regw(0x0060, GMM_CFG);
regw(0x0000, HST_MODE);
regw(0x0000, HST_SEL);
regw(0x3421, HST_PARA);
regw(0x0032, HST_0_VPS);
regw(0x026c, HST_0_VSZ);
regw(0x0032, HST_0_HPS);
regw(0x049c, HST_0_HSZ);
regw(0x0000, HST_TBL);
return 1;
result = set_hst_continuous();
break;
- dnn_study . . . . 7 matches
'''Note:''' This covers suggestions from [http://www.cs.toronto.edu/~hinton/ Geoff Hinton's] talk given at UBC which was recorded May 30, 2013. It does not cover bleeding edge techniques.
아래 내용은 Geoff Hinton에 의해서 제안된 DNN(Deep Neural Network)을 구성하고 훈련시키는 방법에 대한 내용이다. [[footnote( [http://www.youtube.com/watch?v=vShMxxqtDDs#t=2480 Geoff Hinton - Recent Developments in Deep Learning])]]
* Pretrain if you do not have alot of unlabelled training data. If you do skip it.
* Use rectified linear units(ReLU).
* Have many more parameters than training examples.
* Use dropout to regularize it instead of L1 and L2 regularization.
attachment:shallownetwork.png?title="This is consiered a shallow network."
- docker_influxdb . . . . 10 matches
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-secret-token \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-secret-token \
docker run -d -p 8086:8086 --name influxdb -v $PWD/data:/var/lib/influxdb2 -v $PWD/config:/etc/influxdb2 -e DOCKER_INFLUXDB_INIT_MODE=setup -e DOCKER_INFLUXDB_INIT_USERNAME=wskim -e DOCKER_INFLUXDB_INIT_PASSWORD=kims1028 -e DOCKER_INFLUXDB_INIT_ORG=my-org -e DOCKER_INFLUXDB_INIT_BUCKET=test-bucket -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-secret-token influxdb
docker run -d --restart always <다른 옵션들...>
$ docker update --restart=always <container name or ID>
우선 데이터 베이스를 하나 생성하고 SQL의 Table에 해당하는 measurement 하나 생성하자.
create database test_db
위와 같이 데이터베이스와 measurement (test_table)을 생성했다. 여기서 tag key와 field key를 알아보자.
|| table || measurement ||
하나의 데이터 베이스에 여러개의 measurement가 있을 수 있는데, 각 데이터는 Point라는 틀을 갖는다.
- docker_redis . . . . 20 matches
#title Docker 환경에서 redis 사용하기
; Single Threaded(싱글 스레드) 사용으로 한번에 하나의 명령만 수행이 가능하므로 처리 시간이 긴 요청의 경우 장애가 발생할 수 있음.
; 메모리 사용량이 너무 많으면 Redis 서버의 성능 저하나 장애로 이어질 수 있기 때문에 주기적인 모니터링을 통해 메모리를 관리해줘야함. (vmstat -s)
docker pull redis
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest c8ac0a9bed1d 3 months ago 140MB
sudo docker run --name redis -d -p 6379:6379 redis
* --name: container 이름을 지정하는 옵션으로 redis라고 명명한다. [* https://velog.io/@juhyeon1114/Docker-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C]
* -p: container 포트와 호스트의 포트를 연결한다. (redis는 포트번호 6379를 사용한다.)
sudo docker start redis
시스템을 재시작하면 redis docker container가 자동으로 실행되지 않아서 위에 있는 과정을 다시 수행해야만 하는 불편함이 발생한다. 이를 극복하기 위해서 redis docker container 재시작하는 루틴을 서비스로 등록하자.
''/etc/systemd/system/redis.service'' 파일을 생성하고, redis docker container의 실행을 위한 서비스를 아래와 같이 정의했습니다.
Description=Service to run docker container for redis
ExecStart=sudo docker start redis
Restart=on-failure
그리고 나서 다음의 명령을 순서대로 실행하면 redis docker container를 위한 서비스를 등록할 수 있습니다.
systemctl daemon-reload
systemctl enable redis.service
systemctl start redis.service
- docker_tutorial . . . . 13 matches
CentOS release 6.4 (Final)
어떻게 이런 일이 가능할까요? 원리적인 부분은 이미 좋은 문서들이 있습니다. 한국어로 된 좋은 자료로는 [http://wiki.nacyot.com/documents/deview Deview] 2013에서 김영찬 님이 발표하신 [http://deview.kr/2013/detail.nhn?topicSeq=45 이렇게 배포해야 할까? - Lightweight Linux Container Docker 를 활용하여 어플리케이션 배포하기] 세션과 xym 님이 쓴 [http://spoqa.github.io/2013/11/22/docker-the-cloud.html docker the cloud]를 추천합니다. 하지만 분명한 건 VMWare를 사용한다고 해서 가상화 기술에 빠삭해야하는 것이 아니듯이, Docker 역시 기본적으로는 툴이라는 사실을 이해해야합니다. 제 생각에 도커의 원리를 이해하는 것도 중요하지만, 막상 이 도구를 사용하는 동안엔 컨테이너와 이미지의 차이를 이해하는 게 더 중요하고, [http://wiki.nacyot.com/documents/dockerfile Dockerfile]을 만들어 자신만의 배포 프로세스를 저장하는 법을 익히는 게 더 중요합니다.
$ sudo service docker restart
sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
상태(Status) 컬럼에서 확인할 수 있듯이 컨테이너가 임종하셨습니다. 이번엔 restart 명령어를 통해 이미지를 되살려보겠습니다.
$ docker restart 6b805a36e28b
다시 docker 컨테이너 안으로 들어왔습니다! WoW! 부활의 기적을 여기서 만나는군요. 여기까지 도커 컨테이너의 생명 주기를 보았습니다. 도커 컨테이너를 실행시키는 run부터 실행이 종료되었을 때 다시 실행하는 restart를 배웠습니다. 이 외에도 실행을 강제로 종료시키는 stop 명령어도 있으며, 종료된 컨테이너를 영면으로 이끌어주는 rm 명령어도 있습니다. 잠시 기억을 더듬어 올라가 이 글의 아주 처음에 run 명령어와 함께 사용한 -rm 플래그는 컨테이너가 종료 상태로 들어가면 자동으로 삭제를 해주는 옵션입니다.
$ docker images | grep git
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2enmod rewrite
chmod +x /var/www/html/moniwiki/secure.sh &&\
/var/www/html/moniwiki/secure.sh
CMD bash -c "source /etc/apache2/envvars && /usr/sbin/apache2 -D FOREGROUND"
CMD bash -c "source /etc/apache2/envvars && /usr/sbin/apache2 -D FOREGROUND"
EXPOSE는 가상 머신에 오픈할 포트를 지정해줍니다. 마지막줄의 CMD는 컨테이너에서 실행될 명령어를 지정해줍니다. 이 글의 앞선 예에서는 docker run을 통해서 /bin/bash를 실행했습니다만, 여기서는 아파치 서버를 FOREGROUND에 실행시킵니다.
- dsp_report . . . . 2 matches
[:dsp_report7 z-translator 연습문제 풀이]
[:dsp_report8 FFT 연습문제 풀이]
- dsp_report10 . . . . 10 matches
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
\varepsilon &= \sqrt{10^{0.1(1)}-1} = 0.5088 \\
g &= \sqrt{(A^2 -1)/\varepsilon^2} = 12.2429
\alpha &= \frac{1}{\varepsilon} + \sqrt{1+\frac{1}{\varepsilon^2}} = 4.1702 \\
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
[db, mag, pha, w] = freqs_m(b,a,0.5*pi);
- dsp_report7 . . . . 29 matches
To check our residue calculations, let us consider the rational function
>> b=[0,1]; a=[3,-4,1]; [R,p,C] = residuez(b,a)
>> [b,a] = residuez(R,p,C)
두 번의 residuez() 함수를 통해서 원래의 식을 얻음을 확인했다.
>> [R,p,C]=residuez(b,a)
so that the resulting sequence is causal and contains no complex numbers.
>> [R,p,C] = residuez(b,a)
c. Determine the impulse response \(h(n)\).
[H,w] = freqz(b,a,100); magH = abs(H); phaH = angle(H);
xlabel('frequency in pi units'); ylabel('Magnitude');
title('Magnitude Response')
xlabel('frequency in pi units'); ylabel('Phase in pi units');
title('Phase Response')
a. its transfer function representation,
b. its difference equation representation, and
c. its impulse response representation.
>> b = [0,1,1]; a = [1,-0.9,0.81]; [R,p,C] = residuez(b,a)
2. Using MATLAB, compute the first 20 samples of \(x(n)\), and compare them with your answer in the above part.
result
result
- dsp_report8 . . . . 12 matches
Find DFS representation of the periodic sequence
Consider the periodic sequence \(\tilde{x}_1 (n)\) given in Problem P5.3. Let \(\tilde{x}_2 (n)\) be periodic with fundamental period N = 40, where one period is given by
title('Phase of Xtilde2(k)'); ylabel('Degrees')
Y1 = dtft(x,n,w1); y1 = real(idfs(Y1,N1));
Y2 = dtft(x,n,w2); y2 = real(idfs(Y2,N2));
Hf_1 = figure(’Units’,’normalized’,’position’,[0.1,0.1,0.8,0.8], ’color’,[0,0,0],’paperunits’,’inches’,’paperposition’,[0,0,6,5]);
xlabel(’k’); ylabel(’Degrees’);
[X,w] = freqz(xn,1,1000,’whole’);
4. It is possible to reconstruct the DTFT from the DFT if length of the DFT is larger than or equal to the length of sequence \(x (n)\). We can reconstruct using the complex interpolation formula
X(e^{jw}) = \sum_{k=0}^{N-1}X(k)\phi \left( w- \frac{2\pi k }{N} \right ), \text{where } \phi(w) = e^{-jw(N-1)/2} \frac{\sin(wN/2)}{N \sin(w/2)}
- dsp_report9 . . . . 10 matches
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
xlabel('frequency in pi units'); ylabel('Hr'); title('Type-1 Amplitude Response')
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
xlabel('frequency in pi units'); ylabel('Hr'); title('Type-2 Amplitude Response')
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
xlabel('frequency in pi units'); ylabel('Hr'); title('Type-3 Amplitude Response')
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
xlabel('frequency in pi units'); ylabel('Hr'); title('Type-3 Amplitude Response')
[db,mag,pha,grd,w] = freqz_m(h,[1]);
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
subplot(2,2,4); plot(w/pi,db);title('Magnitude Response in dB');grid
axis([0 1 -100 10]); xlabel('frequency in pi units'); ylabel('Decibels')
[db,mag,pha,grd,w] = freqz_m(h,[1]);
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
subplot(2,2,4);plot(w/pi,db);title('Magnitude Response in dB');grid
axis([0 1 -100 10]); xlabel('frequency in pi units'); ylabel('Decibels')
[db,mag,pha,grd,w] = freqz_m(h,[1]);
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
- earthquakeWithAI . . . . 19 matches
내용은 큰 지진이 발생후 수개월 동안 발생하는 여진에 관해서다. 주 지진에 의한 직접적인 피해도 있지만 더 걱정이 되는 것은 주 지진에 의해서 약화 된 구조물들이 여진에 의해서 무너 지면서 발생하는 피해다. 이 때문에 구조작업이나 피해복구에 상당한 어려움을 격고 있다. 과학자들은 여진의 크기와 시기를 예측하기 위한 많은 연구를 진행해왔다. 그럼에도 예측성능이 그리 좋지 않았는데 구글과 하버드 연구팀이 딥러닝을 적용해서 예측성능을 획기적으로 높일 수 있는 방법을 제안했다. 기존 “Coulomb failure stress change.”로 알려진 가장 유용한 모델보다 좋은 성능을 내는 것으로 보고 했다. 정확도를 0에서 1사이로 했는때 1은 완벽하게 예측한다고 하면 0.5는 랜덤한 예측을 의미한다. 기존 Coulomb모델은 0.583으로 랜덤 예측보다 약간 좋은 성능을 보이는 반면 새로운 AI 시스템은 0.849를 기록했다.[1]
'''Earthquakes and seismic station in the region of interest (near Guthrie, OK) from 14 February 2014 to 16 November 2016.''' GS.OK029 and GS. OK027 are the two stations that record continuously the ground motion velocity.The colored circles are the events in the training data set. Each event is labeled with its corresponding area. The thick black lines delimit the six areas. The black squares are the events in the test data set. Two events from the test set are highlighted because they do not belong to the same earthquake sequences and are nonrepeating events.
{{{대만 IT 소식지 디지타임즈는 대만 국립 응용 연구소(National Applied Research Laboratories, NARLabs) 지진 공학 연구센터가 2017년 12월 28일에서 30일까지 대만에서 열린 'Future Tech 2017' 전시회에서 인공지능 기반 지진 조기경보 시스템을 선보였다고 보도했다.
[1] Phoebe M. R. DeVries, Fernanda Vi ́egas, Martin Wattenberg, and Bren-dan J. Meade. '''Deep learning of aftershock patterns following large earth-quakes'''.Nature, 560(7720):632–634, 2018.
- embaded_nand_flash_memory . . . . 4 matches
- Page마다 따라오는 수~수백 byte 정도 크기의 extra 데이터 영역으로 16의 배수 byte인 경우가 많다. spare 영역이라고도 불린다.
1. ECC(error correction codes)
- BBT에는 한 Block당 2bit를 사용하여 NAND flash 전체의 Block의 상태를 기록하는데, 각각의 Block은 "good", "bad" , "reserved" 세개의 상태로 표현됨.
- File System에서는 "good"으로 표시된 영역만 사용함. BBT가 저장된 Block은 "reserved" 로 표시하여 File System에서 덮어쓰지 못하도록 알려줌.
- energy_model_based_restrict_boltzmann_machines . . . . 19 matches
현재 머신러닝과 인공지능 분야에서 주목받고 있는 ‘딥러닝’의 경우 학습과정에서 Restricted Boltzmann Machine(RBM)을 사용하는 경우가 많습니다. 특히, Deep Beleif Network에서 파라미터의 pretraining을
여기서 \(y^∗\) 는 모델이 출력하는 변수가 된다. 즉 모델은 가능한 모든 배열에 대한 에너지값을 알고 있어야 한다는 뜻이다. 이는 단순히 사람이 수작업으로 모든 배열에 대한 에너지값을 정해주는 것이 아니라(원칙상으로는 그래도 상관이 없기는 하지만, 그렇다며 더 이상 기계학습이라고 할 수 없으니) 수학적인 에너지 ‘함수’가 필요함을 의미하며, 여기서 ‘학습’이란, 주어진 학습 데이터들에 대해서 ‘좋은’ 에너지 함수가 되도록 에너지 함수의 파라미터를 수정하는 과정을 의미한다. 즉 에너지 함수의 파라미터 W에 대해서, 데이터 \(x_i\)에 대한 옳은 출력값을 \(y_i^{correct}\)라고 했을 경우,
E(W, x_i, y_i^{correct}) < ∀y \neq y_i^{correct}E(W, x_i, y_i)
가 되도록 W를 수정하는 과정이 에너지 모델에서의 학습과정이다. 에너지 함수를 정의하고, 또 위의 ‘좋은’ 에너지 함수를 (qaulity) 측정하기 위한 손실함수(loss function)을 정의하여, 손실함수를 최소화 시키는 방향으로 기계학습이 진행된다. [[footnote(Yann LeCun, Sumit Chopra, Raia Hadsell, Marc’Aurelio Ranzato, and Fu Jie Huang (2006) A Tutorial on Energy-Based Learning. in Bakir et al. (eds) “Predicting Structured Outputs”, MIT Press)]]
위의 교사학습에서의 에너지함수는 옳은 배열(correct configuration) \((x, y^{correct})\)에서의 에너지가 최저점을 갖도록 했다면, 비교사학습에서는 실제 데이터 \((v \in training set)\)에서의 에너지가 최저점을 갖는
K-means, autoencoder 등, 실제 모델을 에너지 모델 관점으로 기술된 학습 방법 등은 reference[[footnote(Marc'Aurelio Ranzato, Y-Lan Boureau, Sumit Chopra, Yann LeCun (2007)A Unified Energy-Based Framework for Unsupervised Learning)]] 참조
이 쳅터의 소제목을 (거창하게) 통계물리라고 써놓았기는 하지만 이 쳅터에서 다루고자하는 것은 EBM과 RBM의 이해를 돕기위한 고전 열통계역학의 극히 컨셉적인 내용입니다. 혹시 통계물리학에 대한 더 깊은 이해를 원하시는 분들은 물리학과 학부 수준의 교재인 reference [[footnote(Walter Greiner, Ludwig Neise, Horst St¨ocker Thermodynamics and Statistical Mechanics. Springer (November 14, 2001))]]를 읽어보시기를 권합니다.
== Restricted Boltzmann Machine ==
BM은 visible 배열과 hidden 배열의 합집합에서 모든 두 원소의 connection을 고려하였다. 하지만 정작 널리 사용되는 것은 Restricted Boltzmann Machine(RBM)으로 BM에서 한 배열 내의 두 원소간의 connection을 제한하는 모델이다. 즉 원소들의 bias와 visible배열과 hidden 배열 사이의 weight만 고려하며, 따라서 RBM의 에너지 함수는 다음과 같다.
개의 상태에 대해서 연산을 해야하며 이는 절대 쉬운 일이 아님을 직감할 수 있다. 하지만 여기에 BM에 대한 RBM의 장점이 있는데, 바로 BM에서 restriction을 추가함으로써 “contrastive divergence algorithm”
을 이용하여 비교적 적은 양의 연산으로 기계학습이 가능해진다는 것이다. [[footnote(Asja Fischer, Christian Igel An Introduction to Restricted Boltzmann Machines. L. Alvarez et al. (Eds.): CIARP 2012, LNCS 7441, pp. 14–36, 2012)]]
- error_zlib_h . . . . 1 match
컴파일시 zlib.h: No such file or directory 와 같은 에러 메세지가 낳을 경우 처리 방법에 대해서 기술 한다.
- etagen_guide . . . . 11 matches
* new repository of the note on Etagen
GIT repository of the recent HHT implementation by Eddy on GitLab (requires luukko's libeemd):
Another repository on KISTI GSDC cluster (git clone via gsissh)
$ PREFIX=$HOME/.local make install
$ python setup.py install --prefix=$HOME/.local
$ python setup.py install --prefix=$HOME/.local
3, make sure LD_LIBRARY_PATH and PYTHONPATH are properly set in .bash_profile, e.g.
https://kgwg.nims.re.kr/cbcwiki/PyHHT
- etri_LLM . . . . 7 matches
Mixture of Experts(MoE)의 학습을 위해서 Auxiliary Loss[* https://technical-support.tistory.com/87] Load balancing을 통해서 학습이 고르게 되도록 하는 방법을 도입.
ResNet vs Inception [* https://techblog-history-younghunjo1.tistory.com/132][* https://hyunsooworld.tistory.com/entry/Inception-v1v2v3v4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4-%EB%8B%A4%EB%A5%B8%EA%B0%80-CNN%EC%9D%98-%EC%97%AD%EC%82%AC]
Weight decay[* https://light-tree.tistory.com/216][* https://m.blog.naver.com/fbfbf1/222426175698]에 대한 이해를 통해서 최적화를 수행하면 좋을 듯.
attachment:lecture.pdf
attachment:lecture2.pdf
attachment:lecture3.pdf
attachment:lecture4.pdf
attachment:lecture.ipynb (일반 기계학습 이론)
- etri_eigenface . . . . 1 match
attachment:lecture.pdf
- etri_lecture_deep_learning . . . . 1 match
attachment:lecture.pdf
- factorized_vae_and_annealed_vae . . . . 7 matches
#title Factorized Variational Autoencoders for Modeling Audience Reactions to Movies 논문 리뷰
* 작성자: 김환선(iou78@nims.re.kr)
''Factorized Variational Autoencoders for Modeling Audience Reactions to Movies''(CVPR 2017) 일명 '''factorized variational autoencoders (FVAE)'''[* http://zpascal.net/cvpr2017/Deng_Factorized_Variational_Autoencoders_CVPR_2017_paper.pdf]논문을 리뷰한다.
텐서 인수 분해 (Tensor factorization) 방법은 Recommendation problem를 풀기 위한 단일 모델중 가장 좋은 알고리즘으로 알려져 있다.
attachment:fvae_intro.png?width=500px&align=center&title='''[[br]]이미지 출처''': ''Factorized Variational Autoencoders for Modeling Audience Reactions to Movies 논문''
''추천 문제 (Recommendation problem)''를 하나 정의하고 그것을 풀기 위해서 ''Matrix Factorization''가 어떻게 사용되는지 알아보자.
이때 *는 아직 사용자가 평가하지 않은 데이터를 의미한다. 이제 recommendation problem은 이 매트릭스의 비어있는 부분의 값을 예측하는 문제로 바꿔서 생각할 수 있다. 수식으로 표현하면 아래와 같은 형태로 표현 가능하다.
이때 \(R\)은 정답에 해당한다. 즉, *에 해당하는 부분을 이상적인 값으로 채운 matrix 이다. \(\hat R\)은 *에 해당하는 값을 추정한 값으로 채워서 만든 matrix이다. 이상적인 정답과 추정치(prediction) 사이를 error로 정의하고 이를 줄이는 문제로 치환되며, 이와 같이 비어있는 matrix를 완성하는 문제를 '''Matrix Completion'''이라고 한다.
이 사실로부터 user \(u\)가 item \(i\)의 점수를 주는 방식은, user \(u\)의 item들에 대한 latent interest \(p_u\)와 그에 대응하는 item들에 대한 latent interest \(q_i\)에 의해 결정된다는 것을 알 수 있다.
본 논문에서는 N명의 청중이 T시간 동안 영화를 보면서 짓는 표정 변화 측정했다. 표정은 \(D = 136\) Demensional vector로 표현했다. 이렇게 관촬한 데이터를 \(N \times T \times D\) tensor \(X\)라 하자. 이를 Tensor Factorization 알고리즘인 PARAFAC decomposition[* https://www.cs.cmu.edu/~pmuthuku/mlsp_page/lectures/Parafac.pdf]을 사용해 \(K\) rank(latent facrots)를 갖는 3개의 matrix로 분활했다. \(U \in \mathbb{R}^{N \times K}\), \(V \in \mathbb{R}^{T \times K}\) 그리고 \(F \in \mathbb{R}^{D \times K}\)
attachment:fvae.png?width=500px&align=center&title='''[[br]]이미지 출처''': ''Factorized Variational Autoencoders for Modeling Audience Reactions to Movies 논문''
attachment:g_fvae.png?width=500px&align=center&title='''[[br]]이미지 출처''': ''Factorized Variational Autoencoders for Modeling Audience Reactions to Movies 논문''
= Reference =
- fastapi . . . . 8 matches
async def login(sns_type: SnsType, user_info: models.UserRegister):
return JSONResponse(status_code=400, content=dict(msg="Email and PW must be provided'"))
return JSONResponse(status_code=400, content=dict(msg="NO_MATCH_USER"))
return JSONResponse(status_code=400, content=dict(msg="NO_MATCH_USER"))
Authorization=f"Bearer {create_access_token(data=UserToken.from_orm(user).dict(exclude={'pw', 'marketing_agree'}),)}")
return token
return JSONResponse(status_code=400, content=dict(msg="NOT_SUPPORTED"))
- fastapi_project . . . . 17 matches
from fastapi.responses import FileResponse
return file_list
def create_zip(start_date: datetime, end_date: datetime) -> str:
return zip_filename
zip_filename = create_zip(start_date_dt, end_date_dt)
return FileResponse(zip_filename, media_type='application/zip', filename='files.zip')
os.remove(zip_filename)
import requests
response = requests.get(url, params=params, headers=headers)
response.raise_for_status()
except requests.exceptions.RequestException as e:
return
f.write(response. Content)
uvicorn your_server_file:app --reload
WorkingDirectory=/path/to/your/app
Restart=always
sudo systemctl daemon-reload
- fft_signal_processing . . . . 5 matches
엄밀히 말하면 FFT는 "Discrete Fourier Transformation"(DFT)[* https://sanghyu.tistory.com/23?category=1120070][[footnote( [:fpga_fast_fourier_transform DFT C언어 코드])]]구현을 위한 최적화된 알고리즘 입니다. 신호는 일정 시간 동안 샘플링되어 주파수 성분으로 나뉩니다. 이러한 구성 요소는 각각 고유한 진폭 및 위상을 갖는 개별 주파수에서 단일 정현파(사인파) 입니다. 이 변환은 다음 다이어그램에 설명되어 있습니다. 측정된 기간 동안 신호에는 3가지 별개의 주된 주파수가 포함 됩니다.
attachment:sine.png?width=600px&title=''[[br]]시간 영역에서의 간단한 진동 분석[* https://figureking.tistory.com/54]''
attachment:fft_500.png?width=700px&title=''[[br]]500 Hz 로 샘플링된 22Hz, 60Hz, 100Hz 복합 신호 분석[* https://figureking.tistory.com/54]''
Sampling Rate는 500 Hz(초당 500 샘플)으로 0.1초 데이터를 수집했을 경우, 데이터 포인트의 갯수는 50개, 이것을 5배 확장해서 0.5초, 데이터 포인트 갯수를 250(Sampling Frequency /2)으로 했을 때를 비교했다. 50개의 데이터 포인트만 있을 경우엔 진폭을 정확히 계산하지 못하는 것을 확인 했다. 반면 250개의 데이터 포인트를 사용한 경우엔 정확하게 진폭을 계산할 수 있었다.
[:fpga_fft_structure FPGA를 이용한 FFT 모듈 구현]
- fftw_tutoral . . . . 7 matches
in[i][0]=cos(2*PI*i/N); //real
fftwf_free(in);
fftwf_free(out);
return 0;
g++ -O3 -I/usr/include -L/usr/lib -lfftw3f -lm --> Single Precision
g++ -O3 -I/usr/include -L/usr/lib -lfftw3 -lm --> Double Precision
./configure --enable-float --enable-sse && make install
- filesystem_supercomputer . . . . 1 match
concurrent file system access from multiple modes.
- filesystem_yaffs_jffs2 . . . . 40 matches
-r : root directory
echo "Directory is '${DIRNAME}'"
.oobfree = { {2, 38} }
int ret;
size_t retlen;
/* Write OOB data first, as ecc will be placed in there */
ret = (nand->write_oob)(nand, off, &ops);
if (ret != 0) {
printf("\nNAND OOB write error %d at block 0x%08lx\n", ret, off);
ret = (nand->write)(nand, off, nand->writesize, &retlen, imgptr);
//ret = (nand->write)(nand, off, &ops);
if (ret != 0) {
printf("\nNAND write error %d at block 0x%08lx\n", ret, off);
return 1;
return 0;
if (strncmp(cmd, "read", 4) == 0 || strncmp(cmd, "write", 5) == 0) {
int read;
read = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
printf("\nNAND %s: ", read ? "read" : "write");
return 1;
- flask . . . . 1 match
https://github.com/rooster97/raspberry/tree/master/ipcamera
- fpga_fast_fourier_transform . . . . 55 matches
\( A_{re} = a_{re} + w_{re}(b_{re}+b_{im}) - b_{im}(w_{re}+w_{im})\)
\( A_{im} = a_{im} + w_{re}(b_{re}+b_{im}) + b_{re}(w_{im}-w_{re})\)
\( B_{re} = a_{re} - w_{re}(b_{re}+b_{im}) - b_{im}(w_{re}+w_{im})\)
\( B_{im} = a_{im} - w_{re}(b_{re}+b_{im}) + b_{re}(w_{im}-w_{re})\)
float out_re[N];
float sumre = 0;
sumre += x*cs;// real값 누적
out_re[k]=sumre;
out_sum[k]=sqrt(sumre*sumre+sumim*sumim);// 여기까지 k번째 DFT 완료
typedef struct {float real,imag;} COMPLEX;
float inbuffer[ORDER] , outbuffer[ORDER] , xt , out_re[ORDER] , out_im[ORDER];
w[i].real = cos(2*pi*i/1024);
samples[i].real = xt;
temp1.real = (Y[upper_leg]).real + (Y[lower_leg]).real;
temp2.real = (Y[upper_leg]).real - (Y[lower_leg]).real;
(Y[lower_leg]).real = temp2.real*(w[index]).real - temp2.imag*(w[index]).imag;
(Y[lower_leg]).imag = temp2.real*(w[index]).imag + temp2.imag*(w[index]).real;
(Y[upper_leg]).real = temp1.real;
for (i = 1; i < (N-1); i++){// reversing(출력시 비트가 뒤집힘)
temp1.real = (Y[j]).real;
- fpga_fft_structure . . . . 83 matches
architecture Behavioral of memory_module is
x1real : out STD_LOGIC_VECTOR (63 downto 0);
x2real : out STD_LOGIC_VECTOR (63 downto 0);
architecture Behavioral of dataSW is
x1real <= (others => '0');
x2real <= (others => '0');
x1real <= indata1(127 downto 64);
x2real <= indata2(127 downto 64);
x1real <= indata3(127 downto 64);
x2real <= indata4(127 downto 64);
architecture Behavioral of dataSW_front is
architecture Behavioral of input_data is
architecture Behavioral of input_data is
architecture Behavioral of Input_rams_sin is
w[i].real = cos(2*pi*i/1024);
{{{{color: rgb(255, 1, 1); font-size: 13px;} MATLAB는 배열의 index가 1부터 증가 하기 때문에 real(0) 가 있을 수 없다.}}}
real(i+1) = cos( 2 * pi * i / 8192 )
-- Create Date: 10:12:03 04/13/2012
-- Revision:
-- Revision 0.01 - File Created
- fpga_fifo_core_gen . . . . 1 match
LogiCORE IP FIFO Generator v8.1 기준으로 FIFO에 대해서 알아본다.
== Native FIFO Feature Overview ==
* Shift Register
Read mode를 선택할 수 있는데 standard fifo와 FWFT(First-Word Fall-Through)이다.
- fpga_index . . . . 3 matches
* [:fpga_fifo_core_gen FIFO FIFO CORE Generator에 대해서]
* [:fpga_memory_core_gen Distributed Memory 사용에 대해서]
* [:fpga_fft_structure FFT 설계 및 구현 작업노트]
- fpga_memory_core_gen . . . . 24 matches
IP Coregen을 사용해서 메모리를 만들고 사용하는 간단한 예제
// Create Date: 16:12:36 02/07/2012
// Revision:
// Revision 0.01 - File Created
reg [9:0] w_add;
reg [9:0] r_add;
reg [2:0] count;
reg [31:0] total;
wire [127:0] tmp_data;
reg write_enable;
reg out_valid_i;
// Create Date: 16:38:05 02/07/2012
// Verilog Test Fixture created by ISE for module: top
// Revision:
// Revision 0.01 - File Created
reg clk;
reg rst;
reg in_valid;
reg [127:0] in_data;
reg out_rdy;
- fpga_test_guide . . . . 1 match
return 0;
- fpga_tutorial . . . . 36 matches
reg [3:0] count;
reg c_out_i;
output reg c_out
reg [3:0] count;
reg c_out_i;
첫번째 정의된 모듈은 output port를 wire로 선언하고 내부에 별도의 req c_out_i를 선언해서 포트와 연결 시킨 것이고
아래 두번째 정의된 모듈은 output port를 reg로 선언해서 바로 사용한 경우이다.
|| ''input'' ||입력 포트 ||내부적으로는 넷형, 외부적으로는 reg형, 넷형 둘다 연결 될 수 있음. ||
|| ''output'' ||출력 포트 ||내부적으로는 reg형, 넷형 , 외부적으로는 반드시 넷형과 연결 되어야 함. ||
Verilog의 포트 선언은 따로 명시하지 않으면 wire로 선언된다.
output port의 경우 값을 저장해야 하는 경우도 있을 수 있기 때문에 필요에 따라 reg로 선언 할 수 있다.
반면 input port와 inout의 경우 값을 저장하지 않고 값을 전달만 하기 때문에 reg로 정의 할 수 없다.
output reg q,
게이트 수준의 설계를 구조적 설계라 할 수 있는데 물리적 wire의 연결이나 게이트의 나열등을 정의 하는 설계를 말 한다.
'''reg에 값을 변경하는 일들은 always 구문 안에서만 이루워 진다. '''
'''또한 wire의 assign과 같은 구조적 설계 요소는 always 구문 밖에서 이루워 진다. '''
reg bool[31:0]; //1 bit 자료형 bool 변수가 32개 있음.
reg [4:0] port_id[0:7] //5 bit 자료형 port_id가 8개 있음.
wire [7:0] w_array[5:0] //8 bit 벡터 와이어가 6개 있음.
reg mem1bit [0:1023]; //1 bit 워드를 갖는1024개의 메모리
- fpga_ucf_ex . . . . 33 matches
# Grouping은 여러분이 software에게 디자인의 어느 부분이 어떤 속도로 동작하는지를 알려 주기 때문에
# 니다. Foundation Express는 방법2가 더욱 좋습니다.
# 주기(period) 규격은 register, latch, 또는 기준 net(excluding pad destinations)에 의해 동기
# flip flops, pads, etc...)들에 관련된 synchronous element의 setup 요구사항(requirement)도
#TIMEGRP RFFS = RISING FFS ("*"); // creates a rising group called RFFS
#TIMEGRP FFFS = FALLING FFS ("*"); // creates a falling group called FFFS
# For an input where the maximum setup time is 25 ns:
#NET in_net_name OFFSET = IN 25 BEFORE clock_net_name ;
# TIMING IGNORE
# 만일 여러분이 path(경로)의 timing을 무시할 수 있다면, Timing Ignore(TIG)을 사용하시오. 주의 사
# Ignore timing of net reset_n:
#NET : reset_n : TIG ;
# Ignore data_reg(7:0) net in instance mux_mem:
#NET : mux_mem/data_reg* : TIG ;
# Ignore data_reg(7:0) net in instance mux_mem as related to a TIMESPEC
#NET : mux_mem/data_reg* : TIG = TS01 ;
# Ignore data1_sig and data2_sig nets:
#INST inst_path/ff_instance_name1_reg* TNM = slowffs ;
#INST inst_path/ff_instance_name2_reg* TNM = slowffs ;
# highest 1. Timing Ignore (TIG)
- git_client_user_guide . . . . 8 matches
''ssh-keygen -t rsa'' 라는 명령으로 본인이 사용하는 컴퓨터의 ssh 공개키를 생성해서 관리자[[footnote(관리자 메일 : iou78@nims.re.kr)]]에게 보내주고 공개키 등록을 요청해야 한다.
= git repository 받아오기 =
git clone git:/repo/upsampler.git
git config --global user.email "iou78@nims.re.kr"
'''git commit'''이라는 명령으로 staged 상태에 있는 파일들을 하나의 revision으로 저장하게 된다.
'''git add''' 명령으로 staged상태로 전이 되지 않은 파일들은 commit 명령에 적용 되지 않고 revision에 들어가지 못 한다.
== git reset ==
$git reset HEAD ''files''
- good_well_eat_live . . . . 1 match
[:food_beef_treatment 쇠고기 숙성]
- google_tensorflow_index . . . . 3 matches
$ conda create -n tensorflow python=2.7
$ conda create -n tensorflow python=3.4
$ conda create -n tensorflow python=3.5
- google_tersorflow_installation . . . . 7 matches
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
다만 해줘야 하는 것은 GPU사용 유무를 ''configure''를 통해서 알려줘야 한다.
$ ./configure
Please specify the location where CUDA 7.0 toolkit is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
Please specify the location where CUDNN 6.5 V2 library is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
- google_tersorflow_start . . . . 2 matches
loss = tf.reduce_mean(tf.square(y - y_data))
- grad_cam . . . . 46 matches
* 작성자: 김환선(iou78@nims.re.kr)
초기 인공신경망 및 딥러닝에서는 네트워크 모델을 블랙박스로 표현하며 해석불가능한 것으로 치부했다. 이때문에 Deterministic한 해석을 하는 사람들로 부터 공격을 받았다. 하지만 더 이상 네트워크 모델은 블랙박스가 아니다. 딥러닝의 역사가 길지 않은 것을 감안하면 비교적 오래 전부터 네트워크 모델과 그 모델의 결과 도출 과정을 설명하려는 연구(Zeiler, Fergus et al., 2013)[* M. D. Zeiler and R. Fergus, “''Visualizing and understanding convolutional networks''”, in European conference on computer vision. '''Springer''', 2014 <https://arxiv.org/abs/1311.2901>][* http://cs231n.github.io/convolutional-networks/]는 꾸준히 있어왔다. 여러 가지 시도중 CNN기반으로 Multi-Class Classification의 Prediction의 원인(근거)을 해석하는 방법으로 '''GAP(Global Average Pooling)'''[* ''Min Lin, Qiang Chen, Shuicheng Yan.'' '''"Network In Network"'''. 4 Mar 2014. <https://arxiv.org/pdf/1312.4400.pdf>]를 도입해서 Prediction에 기여를 한 feature map을 계산하는 연구인 CAM(Class Activation Mapping)[* ''Bolei Zhou et al.'' '''"Learning Deep Features for Discriminative Localization"'''. CVPR (2016) <http://cnnlocalization.csail.mit.edu/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf>]과 이로부터 파생되어 GAP구조를 제거하고 일반화한 '''Grad-CAM'''[* ''Ramprasaath R. Selvaraju ea al.'' '''"Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization"''', (ICCV), 2017, pp. 618-626 <http://openaccess.thecvf.com/content_ICCV_2017/papers/Selvaraju_Grad-CAM_Visual_Explanations_ICCV_2017_paper.pdf>][* <https://arxiv.org/pdf/1610.02391.pdf>]과 이를 더욱 발전시킨 '''Grad-CAM++'''[* ''Aditya Chattopadhyay'', ''Anirban Sarkar'', "'''Grad-CAM++: Improved Visual Explanations for Deep Convolutional Networks'''", <https://arxiv.org/pdf/1710.11063.pdf>]에 대해서 알아보고자 한다.
일반적인 CNN 구조에 대해서 생각해 보자. CNN은 입력으로 받은 데이터를 Convolution layer와 pooling layer를 반복하면서 feature map을 만들고 이렇게 추출된 feature map을 Flatten과정을 거쳐 FC(Fully Connected layer)로 넘기고 softmax를 통해 어느 클래스에 해당하는지 확률값을 얻어 내는 구조를 갖는다.
CNN뿐만 아니라 모든 FFNN(Feed-forward Neural Network)은 네트워크를 Feature Learning(Feature extraction)과 Classification으로 나눌수 있다. 나누는 시점은 네트워크 내부 어디든 상관 없다. 어디서 부터 어디까지를 Feature extraction이고 Classification인지는 input을 포함하고 있는 앞단을 Feature extraction이 되고, 출력을 포함하고 있는 부분이 Classification으로 생각할 수 있다. 레이어 하나 하나는 입력 차원을 다른 새로운 차원으로 mapping하는 function으로 볼 수도 있고 여러 레이어를 묶어서 볼 수도 있기 때문이다.
CAM 논문에서는 일반적인 CNN 구조의 Flatten 부분 부터 이후 과정을 GAP로 변경한다. GAP는 마지막 Convolution layer의 출력인 각 feature map의 평균값을 계산하여 하나의 벡터로 만들어준다. 아래 그림은 3x3 feature map이 3장 있을 경우이다.
* 마지막 Convolution layer를 거쳐서 얻은 feature map에 집중해 보자. 여러장의 feature map을 채널이라고 하는데 \(k\)번째 채널의 값들 중 \((x,y)\)에 위치한 값을 \(f_k(x,y)\)로 표현하자.
* 위 수식을 말로 풀이하면 아래 그림에서 보는 것과 같이 각 feature map에 weight를 곱하고 하나의 이미지로 합치면 CAM이 된다는 것이다.
attachment:CAM.png?width=650px&align=center&title='''[[br]]이미지 출처''': ''Learning Deep Features for Discriminative Localization (일명 CAM 논문)''
위 그림을 CAM과 비교해 보면, Convolution layter를 통과해서 만들어진 feature map을 '''A'''로 표현했다 개별 feature map은 \(A^k\)로 표현 할 수 있다. 이는 CAM 구조와 동일하다. (CAM에서는 k번째 feature map \(A^k\) 를 \(f_k(x,y)\)로 표현했고 Prediction \(y^c\)는 \(S^c\)로 표현했다.)
feature map '''A'''를 목적에 맞는 다양한 네트워크 모델의 입력으로 사용했다. 이때 네트워크 모델을 GAP를 사용했다면 CAM과 동일한 네트워크를 갖는다.
차이가 있다면 CAM에서는 학습된 GAP와 softmax 사이의 weight를 갖고 localization map을 계산했다면 grad-CAM에서는 아래 식과 같이 feature map의 각 pixel의 gradient의 합으로 계산된다. __논문에서는 \(\cfrac{1}{Z}\)가 들어가지만 실제 weight 계산에서는 \(\cfrac{1}{Z}\)는 없다.__
\(\alpha_k^c\)는 타겟 \(c\)를 결정하기 위해 사용된 feature map \(k\)의 ''importance''를 나타낸다. CAM에서와 같이 \(\alpha_k^c\)를 각 feature map \(A^k\)에 곱해서 합쳐준다. 이미지의 경우 양수는 타겟을 결정하기 위한 가중치고 음수는 다름 클래스에 대한 가중치로 보고 버린다. 식으로 표현하면 아래와 같다.
L^c_{\text{Grad-CAM}} = ReLU \underbrace{\lc}_{\text{linera combination}}\tag{2}
논문에서는 ReLU를 사용하였는데 경우에 따라서 ReLU를 사용하지 않는 경우도 있다. 음수의 경우를 \(y^c\)를 선택하기 위한 부정적인 의미로 해석할 수 있는 경우 ReLU를 취하지 않고 그대로 사용한다.
CAM 아키텍쳐는 Convolution layer + GAP + FC + softmax로 구성되어 있다. 마지막 convolution layer의 \(k\)번째 feature map을 \(A^k\)라 하자. 가로 세로의 인덱스는 \(i, j\)를 사용해자. 그러면 \(A^k_{ij}\)는 \(k\)번째 feature map의 \((i,j)\) 위치에 있는 엑티베이션을 의미한다.
feature map의 모든 픽셀\((i, j)\)에 대해서 식 (7)의 양변을 합하면,
조금 복잡한 수식 유도 과정을 통해서, 결국 softmax의 weight 횡벡터가 softmax의 입력의 \(k\)번째 feature map의 각 앤티베이션에 대한 partial derivative의 총 합임을 확인했다
예로 Binary object Classification을 생각해보자. Output이 '1'이면 객체가 있는 것이고 '0'이면 없는 것이다. Grad-CAM에서 처럼 \(k^{th}\) feature map \(A^k\)가 있을때 feature map의 각 pixel이 객체를 추출 했으면 \(A_{i j}^k = 1 \)로 표현하고 그렇지 않으면 '0'을 취한다고 생각해보자. 각 pixel의 gradient는 1인 부분에 대해서는 높은 값인 '1'을 갖고 그렇지 않은 부분에 대해서는 '0'을 갖게 될 것이다. 정리하면 아래와 같이 표기할 수 있다.
{{{그래서 Grad-CAM 방식의 경우 검출하려는 객체가 여러 feature map에 파편화 되어 나타날 경우 작은 부속이나 요소들이 최종 saliency map에서 나타나지 않을 수 있다.}}}
w_k^c = \sum_i\sum_j \alpha_{ij}^{kc} \cdot relu \left (\cfrac{\partial y^c}{\partial A^k_{ij}} \right ) \tag{14}
- gstreamer . . . . 5 matches
https://ko.code-paper.com/python/examples-how-to-stream-frames-using-gstreamer-with-opencv-in-python
https://forums.developer.nvidia.com/t/openvcv-gstreamer-python-camera-capture-access-and-streaming-to-rtp/182207
- gw_ml_review . . . . 22 matches
#title Enabling Real-time Multimessenger Astrophysics with Deep Neural Networks
이 논문에서는 Simulated NR Data에 Noise를 단계적으로 입혀 트레이닝 시키고 이것을 통해서 Heavy noise 속에 들어있는 중력파 시그널의 유무를 Classification하고 그 시그널의 Parameter를 Prediction하는 일을 진행하였다.
attachment:data_point.png?'''[[br]]그림''' 1. ''The figure shows how the training and testing points were chosen.''
attachment:dataset.png?'''[[br]]그림''' 2. ''Left panel: sample used to train our DNN algorithm. It consists of a BBH GW signal whitened with aLIGO’s PSD design sensitivity (see'' '''그림 3.''' '') that is embedded in noisy data. Right panel: the SNR = 0.5 BBH GW signal shown on the left panel is not visible in the corresponding spectrogram, and thus cannot be detected by a neural network trained for image recognition. However, our DNN algorithm detects the presence of this signal, and reconstructs the source’s parameters with excellent accuracy.''
'''ImageNet Challenge'''를 통해서 잘 알려진 GoogLeNet, VGG, AlexNet, ResNet, ZFNet 등을 언급하긴 했지만 실제 사용한 네트워크는 3개의 Convolution layer와 MaxPooling layer를 중첩해서 사용하고 Output Layer를 포함한 2개의 Fully connected layer를 사용하였다.
Activation function으로는 Output Layer의 softmax를 제외하고 모두 ReLU(Rectified Linear Unit)을 사용하였다.
attachment:networks.png?'''[[br]]그림''' 4. ''This chart shows the layout of the deep neural network that we used for classification. The predictor network is identical to this except for the 15th layer, which was replaced with a ramp function.''
위와 같은 네트워크 구조를 갖는 두개의 네트워크를 준비하고 하나는 질량 파라메터를 예측('''Predictor''')하는 용도로 사용하고 다른 하나는 신호의 유무를 판별('''Classifier''')하는 용도로 사용한다.
'''Predictor'''는 위 네트워크 구조에서 마지막 softmax 함수만 제거하여 트레이닝 시키고 트레이닝이 끝나고 나면 이 네트워크의 최종 weight값을 '''Classifier'''의 pre-train으로 사용한다.
''By starting off training the neural network with signals having high signal-to-noise ratio and then slowly increasing the amplitude of noise in each subsequent training session, we observed that the accuracy of prediction and classification can be maximized. We repeated this procedure a few times with the same neural network but different initial conditions to obtain the best results. We expect this new technique will be very useful for training neural networks, in general, with noisy data.''
attachment:result1.png?'''[[br]]그림''' 5. ''Left panel: Confusion matrix of classifier A on a test set having SNR = 0.5 (the accuracy is 94.7%). Note that this classifier never obtains false positives. Right panel: Confusion matrix of classifier A on a test set having SNR = 0.6 (the accuracy is 100% for all signals with SNR ≥ 0.6.)''
attachment:result2.png?'''[[br]]그림''' 6. ''Left panel: Confusion matrix of classifier B on a test set having SNR = 0.5 (the accuracy is 99.8%). Right panel: Accuracy of classifier B as a function of SNR. Unlike classifier A, the accuracy of classifier B at SNR ≥ 0.7 saturates at approximately 99.89%, due to the constant rate of false detections.''
attachment:result3.png?'''[[br]]그림''' 7. ''
[attachment:paper_review_index/dnn_manuscript.pdf Enabling Real-time Multimessenger Astrophysics with Deep Neural Networks]
- hawkes_process . . . . 4 matches
반면, Hawkes process에서는 각 구간 \(t\)에 대해서 다른 \(\lambda^*(t)\)를 갖는다. [* https://hawkeslib.readthedocs.io/en/latest/tutorial.html]
plt.figure(figsize=(15,2))
df = pd.read_csv("example_data.csv", header=None)
ax[1].imshow(mv._A, cmap="Reds")
attachment:result.png
- hdf5 . . . . 42 matches
file directory 구조와 유사한 방식으로 데이터를 저장하기 위한 데이터 구조로 '/' 루트로 부터 directory-file 구조와 유사하게 group-dataset 구조를 사용해서 트리형태로 데이터를 저장한다. 각 group과 dataset는 metadata로 attribute를 사용해서 사용자가 부연 설명을 넣을 수 있다.
|| r ||Readonly, file must exist(default) ||
|| r+ ||Read/write file must exist ||
|| w ||Create file, truncate if exist ||
|| w- or x ||Create flie, fail if exist ||
|| a ||Read/write if exists, create otherwise ||
temperature15 = np.random.random(1024)
temperature20 = np.random.random(1024)
f.attrs['descr'] = 'Temperature and wind data at HK mall'
f['/15/temperature'] = temperature15
f['/15/temperature'].attrs['dt'] = 10.0
f['/15/temperature'].attrs['start_time'] = 1375204299
f['/20/temperature'] = temperature20
f['/20/temperature'].attrs['dt'] = 10.0
f['/20/temperature'].attrs['start_time'] = 1375204299
# read
temp = f['15/temperature'][:]
dt = f['15/temperature'].attrs['dt']
return isinstance(h, h5py._hl.group.Group)
return len(list(h.attrs)) != 0
- homebrew . . . . 9 matches
맥을 사용하면서 App Store를 통해서 소프트웨어를 설치하는 것은 기본이지만 리눅스처럼 개발툴이나 라이브러리를 설치하는 것은 좀 다르다. 그 중에 가장 많이 쓰는 패키지 관리 툴은 Macport와 Homebrew[* http://brew.sh/index_ko.html]이다.
{{{/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"}}}
brew --config 와 brew --env를 통해서 brew의 설정값과 위치를 확인 할 수 있다.
export HOMEBREW_CC=gcc-6[* http://aiceru.blogspot.kr/2016/03/mac-os-x-gnu-gcc.html]
export HOMEBREW_CXX=g++-6
brew reinstall boost-python --build-from-source
- iEEG_seizure . . . . 46 matches
CHB-MIT Database[* https://physionet.org/content/chbmit/1.0.0/]는 Children's Hospital Boston의 23명의 뇌전증 환자의 Scalp EEG 데이터를 수집한 것으로, __3세에서 22세 남자 5명과 1.5세에서 19세 여자 17명__의 데이터이다. 각 데이터의 나이와 성별 정보는 [https://physionet.org/content/chbmit/1.0.0/SUBJECT-INFO SUBJECT-INFO]에 기재되어 있다.
edf 파일을 열기 위해서는 '''mne.io.read_raw_edf''' 가 필요하다. 나머지는 신호처리와 시스템에서 파일 정보를 얻어 오기 위해서 사용한다.
from mne.io import read_raw_edf
records = []
records.append(f)
sfile = join(basedir, records[0])
rawdata = read_raw_edf(sfile)
custom_ref_applied : bool | False
hpi_results : list | 0 items
sfreq : float | 256.0 Hz
line_freq : NoneType
channel name, sampling frequency 등 eeg 데이터를 처리하기 위한 정보들을 확인 할 수 있다.
fsr = rawdata.info['sfreq']
freqs = rfftfreq(Nt, dt)
# whitening: transform to freq domain, divide by asd, then transform back,
# taking care to get normalization right.
white_hf = hf / sqrt(interp_psd(freqs)) * norm
return white_ht
# Pxx, freqs = mlab.psd(data[i], Fs = fsr, NFFT = NFFT)
# logpsd.append(interp1d(log(freqs+TINY), log(Pxx)))
- iir_filter . . . . 2 matches
IIR 필터의 IIR은 Infinite Impulse Response의 약자
fread(&input_sample,sizeof(short),1,fin); //read
- index_2010 . . . . 12 matches
[:error_zlib_h zlib.h No such file or directory]
||[:svn_sunken New camtron release setup 하기]
[:ipnc_factory_reset IPNC Factory reset]
[:ipnc_release_mode 커널 부팅시 Print문 제거]
[http://oktorrent.com/plugin/mw.banner.clicks/click.php?mb_id=iou78&id=1]
[http://forum.falinux.com/zbxe/?mid=hardware&page=3 NAND에 대한 설명]
[http://torrentsection.com/ 외국 토렌토 사이트]
[http://anytorrentsdownload.com/ 외국 토렌토 사이트]
[http://recipes.egloos.com/ Embeded Recipes]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/index.html TI DVSDK Download]
http://arago-project.org/files/releases/
- index_2012 . . . . 7 matches
== [:pico_init_research PICO 보드 Research] ==
== [:linux_command_find find grep 명령을 사용한 파일 찾기] ==
[[RecentChanges(item=10,quick,nonew)]]
* [:pci_express_spec PCI Express base r2.1]
* [http://blog.naver.com/pcs874?Redirect=Log&logNo=60099756746]
[http://erp.nims.re.kr/ NIMS ERP]
[http://nims.nims.re.kr/ NIMS Intranet]
- index_2016 . . . . 4 matches
* http://kgwg.nims.re.kr/kkngwa/FrontPage 중력파 천문학 융합과제
7. [:linux_repository_config 리눅스 배포판 Repository 수동 설정 위치]
4. [:working_resampler resampler]
[[RecentChanges(item=10,quick,nonew)]]
- index_2019 . . . . 14 matches
== [:work2016_list Monthly Report] ==
* [:recurrent_neural_network Recurrent Neural Network (RNN) ]
* [:paper_review_index 논문 리뷰 리스트]
* [:GAN_review Generative Adversarial Network 정리]
* [:Variational_inference Variational Inference 변분 추론의 이해]
* [:dsp_report Digital signal processing]
* [:sgg_review Low frequency Gravitation-Wave Telescope Project]
* [:lecture_note_machine_learning Machine Learning 강의 노트]
* [:lecture_note_machine_learning_exercise Machine Learning 연습 문제]
[[RecentChanges(item=5,quick,nonew)]]
[http://inspirehep.net/search?ln=en&ln=en&p=whansun&of=hcs&action_search=Search&sf=&so=d&rm=&rg=25&sc=0 논문 검색]
http://www.onemathematicalcat.org/MathJaxDocumentation/MathJaxKorean/TeXSyntax_ko.html#underbrace
- index_2023 . . . . 20 matches
== [:work2016_list Monthly Report] ==
[:mAP Mean Average Precision]
[:layer_wise_relevance_propatation Layer-wise Relevance Propagation]
[:grad_cam CAM vs Grad-CAM vs Grad-CAM++ review]
[:software_raid_mdadm Software RAID mdadm 사용법]
[:iEEG_seizure 뇌파 연구: 뇌전증]
[:neural_additive_models Neural additive models: Interpretable Machine Learning with Neural Nets 논문 리뷰]
[:docker_redis Docker 환경에서 redis 설치]
[:gstreamer gstreamer 1.0]
[:raspberry_wireguard 라즈베리파이 Wireguard 설정하기]
[:python_re python 정규표현 모듈 re 사용법]
[:diffusion ETRI Diffusion lecture]
[:TTSR Texture Transformer network for image Super Resolution]
[:etri_lecture_deep_learning ETRI 기계학습 이론 수업]
[[RecentChanges(item=5,quick,nonew)]]
https://webisfree.com/2017-05-10/window-10%EC%97%90%EC%84%9C-linux-bash-shell-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
https://creately.com/
- index_2025 . . . . 1 match
== [:work2016_list Monthly Report] ==
[:javascript_lecture Javascript 학습자료]
[[RecentChanges(item=5,quick,nonew)]]
- ipnc_factory_reset . . . . 7 matches
reset_count = 0;
while(dm355_gio_read(85))
reset_count++;
if(reset_count > 1)
if(reset_count > 5000)
printf("Factory reset.....\n");
system("reboot");
- ipnc_mtd_partition . . . . 2 matches
.mask_flags = MTD_WRITEABLE, /* force read-only */
.mask_flags = MTD_WRITEABLE, /* force read-only */
- ipnc_release_mode . . . . 6 matches
Release시 부팅 속도를 향상 시키고 system 정보르 숨기기 위해서 kernel에 새로운 feature를 추가한다.
= Kernel Feature 추가 =
적당한 위치에 새로운 메뉴와 Feature를 추가한다.
menu "Release option"
config RELEASE_MODE
bool "RELEASE MODE dose not display system message"
#ifndef CONFIG_RELEASE_MODE
MARK(kernel_printk, "%p", __builtin_return_address(0));
return r;
- iptables_cross . . . . 2 matches
# CC=arm_v5t_le-gcc RANLIB=arm_v5t_le-ranlib STRIP=arm_v5t_le-strip LD=arm_v5t_le-ld ./configure --enable-static --host=arm-linux --prefix=/home/wskim/sdk_3.0_work/ipnc_rdk/target/filesys/opt/ipnc/iptables
- isb_olaf_server . . . . 1 match
https://rscvpn.ibs.re.kr/
- iterative_solver . . . . 19 matches
The MAGMA project aims to develop a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current "Multicore+GPU" systems.
The MAGMA research is based on the idea that, to address the complex challenges of the emerging hybrid environments, optimal software solutions will themselves have to hybridize, combining the strengths of different algorithms within a single framework. Building on this idea, we aim to design linear algebra algorithms and frameworks for hybrid manycore and GPU systems that can enable applications to fully exploit the power that each of the hybrid components offers.
acml, atlas, goto, macos, mkl-gcc, mkl-icc, mkl-ilp64, mkl-shared등 총 8가지 make.inc 파일이 있다.
acml(AMD Core Math Library)[[footnote(http://developer.amd.com/tools-and-sdks/cpu-development/amd-core-math-library-acml/)]]는 AMD에서 제공하는 Linear Algebra Library로 Fortran 코드로 되어 있다.
인텔 icc[[footnote(https://registrationcenter.intel.com/RegCenter/NComForm.aspx?ProductID=1517&pass=yes)]]와 ifort[[footnote(https://registrationcenter.intel.com/RegCenter/NComForm.aspx?ProductID=1322)]]를 설치하면 다른 것들은 크게 신경 쓸게 없이 설치가 된다.
1. CPU Throttling 기능 끄기[[footnote(전력 관리를 위해서 동작 클럭을 변경하는 기능)]] : cpufreq-selector -g performance
1. ../configure -b 64 -D c -DPentiumCPS=3601 -D c -DWALL -Fa alg -fPIC --with-netlib-lapack-tarfile=/home/wskim/work/lapack-3.5.0.tgz
§ SuiteSparse: http://www.cise.ufl.edu/research/sparse/SuiteSparse
§ WSMP: http://researcher.watson.ibm.com/researcher/view_project.php?id=1426
- julia . . . . 12 matches
Julia를 실행하면 ''read evaluate print loop'' ('''REPL''') 환경이 시작되는데 여기서 ']'를 눌러서 패키지 관리 모드로 들어간다.
Updating registry at `~/.julia/registries/General`
Resolving package versions...
Installed WeakRefStrings ── v1.4.2
* --project: 옵션에서 프로젝트 경로를 알려주면 프로젝트가 활성화된 상태로 줄리아 REPL이 열린다.
* '''Core''': 언어에 내장된 모든 기능이 포함된 모듈
* Core Module은 말 그대로 Core입니다. 이 언어에 내장된 모든 식별자들을 담고 있습니다. 이 모듈이 없으면 아무것도 못하기 때문에 모든 모듈은 암시적으로 using Core가 돼있습니다.
| Core | | Module |
= Multi-Threading =
https://github.com/julia4ta/tutorials/tree/master/Series%2008/Tutorial%2008x03
https://docs.julialang.org/en/v1/manual/multi-threading/
url = "https://sample-videos.com/csv/Sample-Spreadsheet-5000-rows.csv"
- jupyter_notebook . . . . 1 match
Currenty running servers:
- kolmogorv_arnold_network . . . . 20 matches
MLP는 현대 딥러닝 알고리즘의 근간이 되는 네트워크 모델이다. 가중치 행렬 \(W\)를 사용한 선형결합과 비선형 활성함수(Activation Function)를 이용하여 임의의 비선형 함수를 근사합니다. 이는 '''Universal approximation theorem'''으로 설명되는데, 이는 임의의 비선형 함수를 주어진 오차 내에서 몇개의 레이어와 뉴런으로 구성된 fully-connected network으로 근사할 수 있음을 의미한다.[* https://ddangchani.github.io/KAN/]
반면, KAN의 경우 '''Kolmogorov-Arnold representation theorem'''을 근간으로한 모델을 전개한다.(완벽하게 따르지 않음.) 무언간 거창한 정리와 모델로 보일 수 있지만 저자는 KAN이 ''nothing more than combinations of splines and MLP'', 즉 spline과 MLP의 결합에 불과하다는 말이다.
= Kolmogorov-Arnold representation theorem =
Kolmogorov-Arnold representation theorem (or superposition theorem)[* https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Arnold_representation_theorem]은 다변량 연속 함수 \(f: [0,1]^n \rightarrow \mathbb{R}\) 단변량 함수의 합으로 나타낼 수 있다는 것을 증명했다.
where \(\phi_{q,p}: [0, 1] \rightarrow \mathbb{R} \) and \(\Phi_q:\mathbb{R} \rightarrow \mathbb{R} \)
= KAN architecture =
=== Residual activation function ===
여기서 \(b(x)\)는 basis function이라고 부르며(spline basis와 다른 의미를 갖음), 일종의 '''residual connection'''[* https://channelai.tistory.com/2]역할을 수행한다. 다음과 같이 silu function(swish)[* https://medium.com/@akp83540/silu-sigmoid-linear-unit-activation-function-d9b6845f0c81]로 주어진다.
b(x) = \text{silu}(x) = x \cdot \sigma(x) = \cfrac{x}{1+e^{-x}}, \text{ where } \sigma(x) = \cfrac{1}{1+e^{-x}}
= Reference =
- ksc2016 . . . . 2 matches
딥러닝과 같이 노드들이 많은 경우 시그모이드 처럼 미분값이 0에 가까운 값을 갖게 되었을때 값을 잃어버리는 경향이 있다. ( 때문에 계산 중간에 있는 히든 노드의 activation function은 ReLU를 사용하고 종단에 시그모이드나 소프트 멕스를 사용한다.)
TensorFlow[* https://github.com/bi-lab/deeplearning_tutorial/tree/master/Deep_RL_tensorflow] : Computation Graph - Theano 의 장점을 차용해서 개발 되었음.
https://github.com/tensorflow/models/tree/master/im2txt
- kubernetes . . . . 4 matches
= Ingress =
서비스 --> pod 구조에서 Ingress는 라우터 역활을 하게 된다.
https://www.redhat.com/ko/topics/containers/what-is-kubernetes
https://malwareanalysis.tistory.com/126
- kullback-Leibler_vs_cross-entrypy . . . . 28 matches
__'''No doubt'''__ that loss __'''criteria'''__ are one of the most __'''crucial'''__ things within a machine learning model. / There are tons of options for a multi-label classification task. / You may be in trouble choosing the best fitting criterion: Cross entropy loss, weighted cross-entropy loss, Kullback-Leibler divergence they all look so similar; ML frameworks provide __'''rather messy labyrinthical'''__ formulas(even though, in essence, concepts are quite simple) to make the problem even more complicated. Let’s have a look at these loss functions, try to highlight differences.
Cross entropy loss the basic one, is simply the negated log-probability score output by model for the target label. The nature of the minus logarithm may result in issues. Especially in the case of well-classified samples, punishment is quite __'''harsh'''__; compared to that of badly scored samples. To resolve this, often, relaxations applied like Focal loss.
As the name suggests, weighted cross-entropy loss is nothing but cross-entropy loss weighted by the weight of the target class. Used to reflect labels’ importance levels.
Now comes the fanciest, mightiest of all: KL divergence. Basically its a distance measure between two probability distributions: In case of ML probability scores over class labels returned by model and ground-truth probability distribution. But isn’t the latter the one hot coded vector of ground-truth class?
Well, not necessarily so. It is possible to fit distribution for ground-truth. As an extreme case, let’s take a distribution over labels that value 1 at target label and hence all others are 0, i.e one-hot encoded vector representation for target label. In that specific case, KL divergence loss boils down to the cross-entropy loss.
So, we have quite much freedom in our hand: convert target class label to a suitable distribution that is so likely to appear out of a forward pass by the model at convergence.
For instance, let’s consider audio generation(via FFTNet or Wavenet variants); predicting quantization level(8 bit=256 levels) for each sample. No doubt, a well-trained model for this problem returns a Gaussian-like distribution around target(hopefully) level. It may be beneficial to make use of such a distribution as a goal and observe the performance of KL divergence. It is possible to provide more problems with spatially related labels.
Wrap-up: When it comes ML, stay open to alternatives; as discussed here loss criteria in particular and hyper-parameter tuning methods, optimizers, learning rate schemes and many others in general. Look for the best matching scheme, get to the essence of options, do not let mighty sophisticated expressions to drown you.
- lalsuite_info . . . . 12 matches
| - - - - >lalinference
바이너리 설치[* http://www.lsc-group.phys.uwm.edu/daswg/download/repositories.html]는 데비안 계열 리눅스와 멕 OS만 지원한다.
--소스는 Git repository로 관리되며 python 2.6을 기반으로 하기 때문에 python 2.6이 시스템에 설치 되어 있어야 설치가 가능하다.--
export LALSUITE_SRCDIR=${HOME}/src # source directory: change as appropriate
export LALSUITE_PREFIX=${HOME}/opt/lalsuite # install directory: change as appropriate
$ git config --global user.name "whansun.kim" # replace as appropriate
$ git config --global user.email whansun.kim@ligo.org # replace as appropriate
$ git clone https://versions.ligo.org/git/lalsuite.git # replace as appropriate
./configure --prefix=${LALSUITE_PREFIX} --enable-swig-python
python setup.py install --prefix=${LALSUITE_PREFIX}
python setup.py install --prefix=${LALSUITE_PREFIX}
source ${LALSUITE_PREFIX}/etc/lalsuiterc
- lasso_regression . . . . 1 match
매장들의 크기와 판매량을 기록해 보았더니 정말로 선형 관계가 있었다고 하자. 이를 이용해서 얻어낸 일차 함수식을 얻어 낼 수 있을 것이고, 이렇게 얻어낸 함수식에 대입해서 어떠한 상점의 판매량을 예측할 수 있을 것이다. __이것이 바로 선형회귀이다.__[* https://zimkjh.github.io/ml/Lasso-Regression]
- latex_lyx_installation . . . . 4 matches
LyX[* https://launchpad.net/~lyx-devel/+archive/ubuntu/release] 는 레이텍을 편하게 사용할 수 있는 편집기에 해당한다.
deb http://ppa.launchpad.net/lyx-devel/release/ubuntu trusty main
deb-src http://ppa.launchpad.net/lyx-devel/release/ubuntu trusty main
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A64833C9F8214ACD
- layer_wise_relevance_propatation . . . . 30 matches
#title Layer-wise Relevance Propagation
* 작성자: 김환선(iou78@nims.re.kr)
인공신경망, 혹은 딥러닝은 기본적으로 블랙박스로 생각되며 계산 과정을 들여다 보기 힘든 구조를 갖고 있다. 하지만 이러한 딥러닝의 결론이나 계산 과정을 설명 가능('''Explainable''') 혹은 해석 가능('''Interpretable''')하도록 많은 연구들이 진행되었다. [:grad_cam CAM], [:grad_cam Grad-CAM] 과 유사한 방법론인 Layer-wise relevance propagation(LRP)[* ''Bach S, Binder A, Montavon G, Klauschen F, Müller KR, et al''. '''"On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation"'''. PLOS ONE 10(7): e0130140. (2015) <https://doi.org/10.1371/journal.pone.0130140>] 을 설명하도록 하겠다.
인공신경망 내지 딥러닝의 동작을 이해하기 위한 연구들은 크게 두 가지로 분류할 수 있다. 첫 번째는 모델 자체를 해석하는 연구이고, 두 번째는 "외 그런 결정을 내렸는지"에 대한 연구이다. [* 공돌이의 수학정리노트. (18 Aug 2019). <https://angeloyeo.github.io/2019/08/17/Layerwise_Relevance_Propagation.html>. (7 Nov 2019).]
'''Layer-wise Relevance Propagation (이하 LRP)'''는 두 번째 종류인 ‘왜 그런 결정을 내렸는지’ 파악하는 방법에 속하며, 그 중에서도 decomposition을 이용한 방법이다.
= Goal of Layer-wise Relevance Propagation =
이러한 결과를 도출하기 위해 기여한 요소들의 기여도(relevance score)를 \(R_i\)라 하면 \(\sum_iR_i = f(x)\)와 같이 쓸 수 있다. 각 요소의 기여는 입력 \(x\)의 각 성분 혹은 Pixel의 중요도로 계산된다.
attachment:lrp.jpg?width=600px&align=center&title='''[[br]]이미지 출처''': Dr. Wojciech Samek ''http://iphome.hhi.de/samek/''[* ''Wojciech Samek, Thomas Wiegand, Klaus-Robert Müller''. '''"Explainable Artificial Intelligence: Understanding, Visualizing and Interpreting Deep Learning Models"'''. CoRR abs/1708.08296 (2017) <https://arxiv.org/pdf/1708.08296.pdf>.]
attachment:relevance.png?width=400px&align=center&title='''[[br]]이미지 출처''': Dr. Wojciech Samek ''http://iphome.hhi.de/samek/''[* ''Wojciech Samek''. '''"Towards explainable Deep Learning"'''. Talk at CoSIP Intense Course on Deep Learning in Berlin, Germany <http://iphome.hhi.de/samek/pdf/CoSIP2017.pdf>.]
재분배시 기여도가 보존된다는 말은, 특정 입력 \(x\)에 대해서 \(f(x)\)가 0.9였다면 각 layer의 뉴런들은 0.9라는 출력에 대한 기여도를 모두 조금씩 갖고 있으며, 이렇게 분배된 relevace score의 합은 0.9가 되어야 한다는 뜻이다.
위 그림과 같은 뉴런이 있다고 생각해보자. 수학적으로 relevance score라는 것은 '''입력의 변화에 따른 출력의 변화 정도'''로 볼 수 있다.
그러므로, 어떻게든 식과 같이 \(f(x)\)와 \(\cfrac{\partial f}{\partial x_1},\cfrac{\partial f}{\partial x_2}\) 간의 관계를 설명할 수 있는 적절한 식을 도출할 수 있다면, 출력을 relevance score로 분해하여 생각할 수 있다. LRP에서는 Taylor Series를 도입하여 설명하고 있다.
where
= ReLU의 특성을 통해 epsilon = 0 임을 확인해보자 =
2차원 입력을 갖고 활성화 함수 ReLU를 사용하는 뉴런을 수학적으로 표현하면 아래와 같다.
이번에 소개할 방법은 Explaining nonlinear classification decisions with deep Taylor decomposition[* ''Grégoire Montavon and Sebastian Lapuschkin and Alexander Binder and Wojciech Samek and Klaus-Robert Müller''. '''"Explaining nonlinear classification decisions with deep Taylor decomposition"'''. Pattern Recognition 65 p211-222. (2017) <https://doi.org/10.1016/j.patcog.2016.11.008>] 논문에서 소개하는 \(\omega^2-rule\)이다.
위 그림은 식 (6) \(f(x) = \max \left ( 0, \sum_{i=1}^2 w_i x_i +b \right )\)의 입력과 출력을 그림으로 표현한 것이다. 입력 \(x_1, x_2\)는 우리가 입력한 것이니 알고 있고, 출력값 \(f(x_1,x_20\) = ReLU(x_1, x_2)\)는 뉴럴네트워크 모델에 의해 결정되는 값이다. 출력값은 흰색과 붉은색의 그라데이션으로 표현되었다. 흰색에 가까울 수록 '0'에 가깝고 붉은색으로 갈 수록 큰 값을 갖는다. 실선은 출력값이 '0'인 지점을 이은 것이고 점선은 등일한 값을 갖는 등고선이다.
\therefore t &= - \frac{\sum_i w_ix_i + b}{\sum_i w_i^2} \tag{11}
= Relevance Propagation Rule 정리 =
그런 다음 출력단의 뉴런이 가지는 Relevace score \(R_f\)를 \(x_f\)와 같게 둔 다음 그 전 layer들로 progagation을 시킨다고 하자.
- lecture_note_machine_learning . . . . 19 matches
나는 잠시동안 머신러닝에 대해서 배우길 원했다. 나는 강화학습에 익숙한만큼 머신러닝 기본에 대해서는 알고 있다. 아래 노트는 내가 머신러닝을 이해하기 위해 정리한 것들이고 대부분의 강의 자료는 Cal Tech CS 1156을 참고 했고 보조적으로 Stanford CS 229 Courera를 참고 했다.[* Aka Blaenk.Denum <https://www.blaenkdenum.com/notes/machine-learning/>]
1. Can we make sure that \(E_{out}(g)\) is close enough to \(E_{in}(g)\)?
+1 & \text {if inside region} \\ \\
Convex regions를 Dichotomies model로 사용할 수 있다. 위 그림 처럼 원 위에 데이터가 존재 한다고 했을 때 모든 점에 대해서 완벽히 분류할 수 있다.
== Break Point ==
데이터를 나누는 모델이 데이터의 갯수가 늘어나면 더 이상 '''완벽하게''' 데이터를 분류할 수 없는 시점이 오는데 그 때의 데이터 갯수를 '''Break Point'''라고 한다.
앞에서 예로 다른 모델들의 break point를 보면
* break point \(k = 2\)
* break point \(k = 3\)
* break point \(k = 4\)
* break point \(k = \infty\)
이를 증명하기 위해서 \(B(N, k)\) 이와 같은 표현을 쓰도록 하겠다. 의미는 break point k와 N 포인트의 데이터를 구분하는 최대의 dichotomies의 수를 나타낸다.
N &\gt \vc(\mathcal H)\ \Longrightarrow\ N \text { is a break point for } H
\(\vc(\mathcal H)\) 보다 작거나 같은 데이터 포인트는 완벽히 분류할 수 있고, break point k 보다 작다(\(\vc(\mathcal H) = k-1\)).
이미 2D Perceptron에 break point \(k=4\)라는 것을 알고 있다.
parameter는 perceptron의 weight vector로 출력값을 결정하는 degrees of freedom을 갖는다. positive rays의 경우는 (\(\vc =1\)) 직선상의 한 점을 선택할 수 있는 자유도를 갖는다. 그 점보다 크면 +1 작으면 -1의 label을 갖는다. positive intervals는 (\(\vc =2\))로 직선상의 두 점을 선택하고 두 점 사이의 값은 +1을 밖은 -1의 label 값을 갖는다. perceptron은 input feature size(d)에 bais(1)을 더한 d+1의 자유도를 갖음.
\text {more complex } \mathcal H\ &\Longrightarrow\ \text {better chance of } \textbf {approximating } f \\
- lecture_note_machine_learning_exercise . . . . 89 matches
'''1. Consider a point that is correctly classified and distant from the decision boundary. Why would SVM’s decision boundary be unaffected by this point, but the one learned by logistic regression be affected?'''
SVM은 Decision Boundary에 가장 가까이 있는 support vector만을 고려하고 그 이외의 점에 대해서는 Decision Boundary의 결정에 고려하지 않는다. 반면 logistic reression은 모든 데이터 포인트에 가중치를 결합하여 Decision Boundary를 결정하기 때문이다.
'''2. Why does the kernel trick allow us to solve SVMs with high dimensional feature spaces, without significantly increasing the running time?'''
\varepsilon = \sum_{X_d\in\Xi} (t_d - o_d)^2 \tag{(1)}
\frac{\partial \varepsilon}{\partial W} = \frac{\partial \varepsilon}{\partial s}\frac{\partial s}{\partial W} \tag{(3)}
\frac{\partial \varepsilon}{\partial W} = -2\sum_d(t_d - o_d)\frac{\partial s}{\partial W} \tag{(4)}
'''4. What is the leave-one-out cross-validation error estimate for maximum margin separation in the following figure? (we are asking for a number)'''
'''5. (Soft-Margin Linear SVM.) Given the following dataset in 1-d space (Figure 1), which consists of 4 positive data points {0, 1, 2, 3} and 3 negative data points {−3, −2, −1}. Suppose that we want to learn a soft-margin linear SVM for this data set. Remember that the soft-margin linear SVM can be formalized as the following constrained quadratic optimization problem. In this formulation, \(\mathcal{C}\) is the regularization parameter, which balances the size of margin (i.e., smaller \(w^Tw\)) vs. the violation of the margin (i.e., smaller \(\sum_{i=1}^{m}\epsilon_i \)).'''
A if \(\mathcal{C} = 0\), which means that we only care the size of the margin, how many support vectors do we have?
B if \(\mathcal{C} = \infty\), which means that we only care the violation of the margin, how many support vectors do we have? 2
'''6. (Logistic Regression) We consider here a discriminative approach to solve the classification problem illustrated in Figure 2.'''
Figure 2: The 2-dimensional labeled training set, where ‘+’ corresponds to class y = 1 and ‘O’ corresponds to class y = 0. We attempt to solve the binary classification task depicted in Figure 2 with the simple linear logistic regression model
Consider training regularized linear logistic regression models where we try to maximize
for very large \(\mathcal{C}\). The regularization penalties used in penalized conditional log-likelihood estimation are \(−\mathcal{C}w_j^2\), where \(j = {0, 1, 2}\). In other words, only one of the parameters is regularized in each case. Given the training data in Figure 2, how does the training error change with regularization of each parameter \(w_j\)? State whether the training error increases or stays the same (zero) for each \(w_j\) for very large \(\mathcal{C}\). Provide a brief justification for each of your answers.
각 웨이트에 reqularization factor \(\mathcal{C}\)를 아주 큰 값을 곱하면 사실상 그 역활은 없어짐을 알고 있다. 이때 각 웨이트별로 영향에 대해서 알아보면
By regularizing \(w_2\)
By regularizing \(w_1\)
By regularizing \(w_0\)
'''7. (Neural Nets) Consider a neural net for a binary classification which has one hidden layer as shown in the figure. We use a linear activation function \(h(z) = cz\) at hidden units and a sigmoid activation function \(g(z) = \frac{1}{1+e^{-z}}\) the output unit to learn the function for \(P(y = 1|x,w)\) where \(x = (x_1,x_2)\) and \(w = (w_1,w_2,\cdots,w_9)\).'''
'''A. What is the output \(P(y = 1|x,w)\) from the above neural net? Express it in terms of \(x_i,c\) and weights \(w_i\). What is the final classification boundary?'''
- lets_encrypt_ssl . . . . 10 matches
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo certbot certonly --webroot -w /var/www/nextcloud --agree-tos --email hwansun.kim@gmail.com -d whansun.iptime.org --rsa-key-size 4096
42 23 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
42 23 * * 1 /usr/bin/certbot renew --renew-hook "service nginx restart" >> /var/log/le-renew.log
이것이 잘 안된다면 stackoverflow[* https://stackoverflow.com/questions/42300579/letsencrypt-certbot-multiple-renew-hooks] 등을 찾아보고 수정해야 한다. 아직 정상 동작하는지 확인 되지 않았다.
- linux_Voyager_install . . . . 2 matches
sudo add-apt-repository -y ppa:teejee2008/ppa
우분투 버전의 바이너리를 Software Center를 통해서 설치 할 수 있도록 하고 있지만 지금 현재 정상 동작하지 않음.
- linux_apache2_init . . . . 10 matches
# service apache2 reload
lrwxrwxrwx 1 root root 33 4월 19 10:21 authn_core.load -> ../mods-available/authn_core.load
lrwxrwxrwx 1 root root 33 4월 19 10:21 authz_core.load -> ../mods-available/authz_core.load
lrwxrwxrwx 1 root root 34 4월 19 10:21 mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
lrwxrwxrwx 1 root root 34 4월 19 10:21 mpm_prefork.load -> ../mods-available/mpm_prefork.load
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
- linux_apt_get . . . . 3 matches
'''apt-get --reinstall install 패키지이름'''
'''sudo apt-get remove 패키지이름'''
'''sudo apt-get --purge remove 패키지이름'''
- linux_compiler_assembler_process . . . . 152 matches
'''전치리기'''(''C pre processor'') : 소스 파일의 주석 제거 및 define을 치환 하는 기능을 처리 합니다.
== relocatable object 코드 파일 내용 ==
relocatable object code안에 code와 data가 들어 있다고 했는데, 아주 중요한 것을 빠뜨렸다. 이 이야기는 linking 과정을 이해하기 위해 꼭 필요한 부분이므로 반드시 읽어야 할 것이다. 우선 Symbol이 무엇인지 알 것이다. C 언어 컴파일 과정에서 identifier와 함께 설명했는데 잠시 다시 말씀하자면 Symbol은 함수와 변수 이름이다. 변수 중에 특히 관심두어야 할 것 들은 자동 변수(?,auto variable)들이 아닌 전역 변수(external variable)와 정적 변수(static variable)이다. 자동 변수는 함수의 stack frame에 존재하는 변수이기 때문에 현재 stack pointer(sp, 보통의 CPU의 register중에 하나)에 대한 offset으로 표현된다. 즉 현재 함수에서 자동 변수(auto variable)를 access(read/write)하고 싶으면 sp+상수의 어드레스를 access하면 된다. 하지만 전역 변수와 정적 변수는 그냥 32bit(32bit CPU기준) 어드레스를 읽어야 한다. stack pointer랑은 전혀 관계 없다. 아무튼 여기서 관심을 두는 Symbol은 함수, 전역 변수와 정적 변수의 이름이라고 할 수 있다.
이제 생각해 볼 것은 C 언어 소스 파일을 C preprocessing, C 언어 컴파일, assemble 과정을 거치면 완전한 기계어로 바꿀 수 있느냐 하는 점이다. 완전히 기계어로 바꿀 수 있을까? C 언어 소스 파일 하나로 이루어지는 프로그램이라면 완전히 기계어로 바꾸는 것이 가능하겠지만 일반적으로는 불가능 하다. 다음과 같은 예제를 살펴보자.
위 의 예제를 컴파일 한다고 생각해보자. test1.c에서 func1()의 내용을 기계어로 바꾸고 싶은데 func2()를 호출하는 시점에서는 별로 문제가 안된다. func2()는 같은 소스 코드 내에 존재하고 func2()를 호출하는 instruction과 func2()의 실제 위치(어드레스)의 차이를 계산해 낼 수 있으므로 상대 어드레스를 이용하는 함수 호출 instruction으로 완전히 기계어로 바꿀 수 있다. 그런데 문제는 func3()를 호출할 때는 func3()의 실제 위치(address)를 계산할 수 없다는 문제점이 있다. 당연히 동일한 파일에 존재하는 함수가 아니므로 그 함수가 존재하게 될 어드레스를 계산할 수 없다. 어드레스를 모르는데 함수 호출 instruction을 완전히 만들 수 있을까? 만들 수 없다. 당연히 전역 변수 mydata를 access하는 부분도 마찬가지로 mydata의 어드레스를 모르므로 완전히 instruction으로 바꿀 수 없다. 그럼 어떻게 해야 될까?
그때 assembler는 그냥 함수 어드레스 없는 함수 호출 instruction을 기계어로 바꾸어 놓는다. 그런 다음에 그 instruction에 “func3()를 호출한다”라는 표지를 붙여 놓는다. 그럼 그 후의 과정(linking)에서 func3()의 address를 계산했을 때 그 빈 공간을 채워 넣게 된다. mydata와 같은 전역 변수도 마찬가지로 동작한다. test1.c을 컴파일할 때는 “func3()”, “mydata” 라는 표지를 사용해야 한다. 그럼 test2.c를 컴파일 할 때는 무엇이 필요할까? 상식적으로 생각하면 “func3()”, “mydata”가 여기 있다라는 정보를 가지고 있어야한다.
정리하면 object 파일 안에는 그 object 파일에 들어있는 symbol들(test1.o에서는 func1과 func2, test2.o에서는 func3와 mydata)에 대한 정보가 들어있고, 그 object 파일이 reference하고 있는 symbol들(test1.o에서 func3와 mydata 사용)에 대한 정보가 들어 있다.
== Relocatable의 의미 ==
위 에서 object 코드라고 하지 않고 relocatable object 코드라고 지칭했는데 relocatable이 뜻하는 것을 잠시 집고 넘어 가자. Relocatable을 사전에서 찾아보면 “재배치가 가능한” 정도의 뜻이다. “재배치가 가능한” 이라는 의미는 상당히 모호하다. 좀 더 구체적으로 말하자면 위에서 설명된 symbol들의 절대 어드레스가 정해지지 않았다는 뜻이다. 즉 test1.c의 func1()이 절대 어드레스 0x80000000에 존재해야 한다라고 정해지지 않고 어떤 절대 어드레스에 존재해도 관계 없다는 뜻이다. 그런데 이 말과 헷갈리는 말이 한가지 더 있는데 그것은 position independent code이다. C 언어 컴파일 과정에서 설명한 옵션중에 -f 시리즈가 있었다. 그 중에 -fpic라는 position independent code를 만들라고 강제하는 옵션이 있다. position independent code도 역시 절대 어드레스상에 어느 위치에 있어도 무방한 code를 지칭한다. 하지만 두 가지는 분명 차이가 있는데, 그냥 넘어가기로 하자. 쉽게 relocatable은 절대 어드레스가 결정되지 않았다는 뜻, 그러나 position independent code와는 다른 말이다.
(1) 입력 : 하나 이상의 relocatable object 코드 와 library
(2) 출력 : 실행파일(executable) 또는 relocatable object 코드
(3) 하는 일 : symbol reference resolving & location
Linking 과정은 하나 또는 그 이상의 object 파일과 그에 따른 library를 입력으로 받는다. 출력은 보통의 경우는 실행파일(executable file)이지만, 경우에 따라서 object 파일을 생성하게 할 수도 있다. 여러 개의 object 파일을 합쳐서 하나의 object 파일로 만드는 과정을 partial linking이라고 부르기도 한다. Linking 과정이 하는 일은 symbol reference resolving하고 location이라고 했는데, 저도 정확한 단어를 적은 것인지 의심스럽다. 정확한 용어를 사용한다면 좋겠지만 그렇지 못하더라도 내용을 정확히 이해하는 것이 중요하니깐 내용에 대해서 살펴보도록 하겠다.
== symbol reference resolving ==
어 떤 C 소스 파일에서 다른 파일에 있는 함수와 전역 변수(symbol)에 대한 참조(reference)를 하고 있다면 assemble 과정에서 완전한 기계어로 바꿀 수 없다.(실제로는 같은 소스 파일에 있는 전역 변수를 참조하는 것도 보통의 경우, 완전한 기계어로 바꿀 수 없다.) 그 이유는 당연히 assemble 까지의 과정은 단일 파일에 대해서만 진행되고, 다른 파일에 있는 해당 함수와 전역 변수의 address가 상대적이든 절대적이든 결정될 수 없기 때문이다. 따라서 완전히 기계어로 바꿀 수 없는 부분은 그대로 “공란”으로 남겨두고 표시만 해 두게 된다.
Linking 과정에서 그 “공란”을 채워 넣게 된다. 그 과정을 보통 “resolve한다”라고 말한다. 어떻게 할까? 당연히 실행 파일을 이루는 모든 object 파일을 입력으로 받기 때문에 object 파일들을 차곡 차곡 쌓아 나가면(아래 location 참조) object 파일 안에 있는 모든 symbol(함수나 전역 변수 이름)의 address를 상대적이든 절대적이든 계산할 수 있다. 이제 각 symbol의 address가 계산되었으므로 표시가 남아 있는 “공란”에 해당하는 symbol의 address를 잘 넣어주면 된다.
linking 과정에서 나올 수 있는 에러는 대부분 여기에서 발생한다. 표시가 남아 있는 “공란”을 채울 수 없는 경우가 있다. 크게 두 가지로 나누어지는데, 우선 reference하고 있는 symbol을 찾을 수 없는 경우와 reference하고 있는 symbol의 정의가 여러 군데에 있는 경우이다.
>> object파일명: undefined reference to ‘symbolname’
>> object파일명2: first defined here
위 의 에러 메시지는 symbolname이란 이름의 symbol이 여러 번 정의되고 있다는 뜻이다. object파일1에서 정의가 있는데 이미 object파일2에서 정의된 symbol이므로 그 symbol을 reference하고 있는 곳에서 정확하게 “공란”을 채울 수 없다는 뜻이다. 당연히 두 symbol중에 하나는 없애거나 static으로 바꾸거나 해야 해결될 것이다.
- linux_dasom_installation . . . . 3 matches
sudo add-apt-repository ppa:dasom/ppa
org - freedesktop - dasom - engines - jeongeum 에서 hangul-keys에
{{{gsettings set org.freedesktop.Dasom.engines.jeongeum hangul-keys "['shift-mask space','hangul']"}}}
- linux_environment_module . . . . 9 matches
Environment Modules are used extensively in HPC environments to manage the loading of the hundreds of applications that need to run on compute nodes. They take the complexity out of what libraries should be loaded, what paths should be set and what versions are needed. The following shows how you can setup Environment Modules on Ubuntu.
First make sure the tcl libraries and include files are available.
Read more: http://www.setuptips.com/blog/setup-environment-modules-on-ubuntu/#ixzz2aaBmhHoi
./configure
Currently Loaded Modulefiles:
Read more: http://www.setuptips.com/blog/setup-environment-modules-on-ubuntu/#ixzz2aaCQx6Uj
- linux_exfat_ubuntu . . . . 4 matches
---sudo add-apt-repository ppa:relan/exfat---
wget https://launchpad.net/~relan/+archive/exfat/+files/exfat-utils_1.0.1-1_amd64.deb
wget https://launchpad.net/~relan/+archive/exfat/+files/fuse-exfat_1.0.1-1_amd64.deb
- linux_git_install_guide . . . . 17 matches
$git config --global user.email "iou78@nims.re.kr"
$mkdir repository.git
$cd repository.git
$git init --bare
git init --bare는 Working Directory가 없는 순수 저장용 폴더를 만드는 것으로 이렇게 하게 되면
branches config description HEAD hooks info objects refs
$git remote add origin git@210.119.60.156:80/~/repo/repository.git
$git remote set-url origin git@210.119.60.156:80/~/repo/repository.git
$gin branch --set-upstream master origin/master
$git clone ssh://iou78@210.119.60.156/~/repo/repository.git
$git config --global user.email "iou78@nims.re.kr"
- linux_gitweb_install_guide . . . . 18 matches
저장소를 /repo로 했을 경우의 설정이다.
$projectroot = "/repo";
# directory to use for temp files
$feature{'highlight'}{'default'} = [1];
DocumentRoot /repo/
<Directory />
</Directory>
<Directory /repo/>
DirectoryIndex index.cgi
</Directory>
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
<Directory "/usr/lib/cgi-bin">
</Directory>
/repo 드렉토리에서
ln -s /usr/share/gitweb/* .
service apach2 restart
[http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/INSTALL]
- linux_ifconfig . . . . 1 match
/etc/resolv.conf
- linux_index . . . . 3 matches
1. [:debian_release_info Debian Release 정보]
https://www.d.umn.edu/~cprince/courses/cs8631spring10/lectures/Chapter3-LDD3.pdf
1. [:opencl_reqd_work_group_size attribute을 이용한 워크 그룹 사이즈 설정]
- linux_init_setup . . . . 75 matches
$ sudo /etc/init.d/ssh restart //데몬 재시작
$ sudo /etc/init.d/xinetd restart
== Configure NIS Server ==
root@dlp:~# vi /etc/ypserv.securenets
# add at the last: IP address you allow
# add own IP address for NIS database
the names for the other hosts, one per line. When you are done with the
The current list of NIS servers looks like this:
Is this correct? y/n: y] y
make[1]: Entering directory `/var/yp/server.world'
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating passwd.byuid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating shadow.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating group.bygid...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating hosts.byaddr...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating rpc.bynumber...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byname...
failed to send 'clear' to local ypserv: RPC: Program not registeredUpdating services.byservicename...
- linux_kernel . . . . 2 matches
free -> kfree()
- linux_kernel_asmlinkage . . . . 4 matches
#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
#define FASTCALL(x) x __attribute__((regparm(3)))
#define fastcall __attribute__((regparm(3)))
regparm 속성은 레지스터를 이용하여 전달한 인자의 수를 지정한다.
- linux_openshot . . . . 2 matches
sudo add-apt-repository ppa:jonoomph/openshot-edge
http://www.cyberciti.biz/faq/top5-linux-video-editing-system-software/
- linux_port_forwarding . . . . 6 matches
ssh -p 4280 -L8080:210.119.60.156:80 grid.nims.re.kr
ssh -p 4280 -L8080:localhost:80 grid.nims.re.kr
->로컬의 포트 8080에 원격지 210.119.60.156 서버의 80 포트를 연결하는 것으로 우회통로는 grid.nims.re.kr로 하겠다는 것이다.
이렇게 ssh로 grid.nims.re.kr 접속하게 되면 방화벽 안쪽에 있는 156번 아이피 주소의 서버의 웹(80 port)를 로컬 포트 8080에 접속하는 것으로 연결할 수 있다.
= Bypassing reverse ssh port forwarding =
http://toic.org/blog/2009/reverse-ssh-port-forwarding/#.VMmBn7sethG
- linux_repository_config . . . . 1 match
/etc/yum.repos.d/
- linux_smbfs_mount . . . . 4 matches
Retype new SMB password:
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
~$ sudo /etc/init.d/samba restart
~$ sudo /etc/init.d/smbd restart
$ sudo mount -t smbfs -o rw,username=wskim,password=kims1028,iocharset=utf8 //143.248.156.90/share /home/wskim/windows/
- linux_system_guid . . . . 2 matches
#more /etc/host.conf
#more /etc/hosts
- linux_ubunt_subversion . . . . 2 matches
Repository 만들기
$ svnadmin create /home/svn/
{{{{color: rgb(255, 1, 1); font-size: 13px;} PS. /home/svn/db/txn-current-lock에 접근 할 수 없다는 에러 때문에 권한을 777로 해줘야 했다. }}}
- linux_ulimit_command . . . . 30 matches
#Where:
# - core - limits the core file size (KB)
# - memlock - max locked-in-memory address space (KB)
# - rss - max resident set size (KB)
# - as - address space limit (KB)
# - rtprio - max realtime priority
이 글은 http://wiki.kldp.org/KoreanDoc/Ulimit-KLDP (문태준님 작성, 2000년 2월 24일(목))을 토대로 필자가 나름 내용을 추가하여 작성하는 글이다.
core file size (blocks, -c) 0
real-time priority (-r) 0
core file size (blocks, -c) unlimited
real-time priority (-r) 0
core file size -> 코어파일의 최대크기
max memory size (kbytes, -m) unlimited -> resident set size의 최대 크기(메모리 최대크기)
real-time priority (-r) 0
Return the limit on the size of a file, in units of 512 bytes.
3 (Not implemented for Linux.) Return the maximum possible
address of the data segment.
4 (Implemented but no symbolic constant provided.) Return the
RETURN VALUE
On success, ulimit() returns a non-negative value. On error, -1 is
- linux_wol . . . . 1 match
update-rc.d -f 스크립트명 remove
- mAP . . . . 3 matches
mAP는 이진 분류기의 성능 지표로 사용되는 정밀도와 재현율을 이용한 지표이며 객체 검출 알고리즘의 성능을 평가하는데 널리 사용합니다.[* https://inspaceai.github.io/2017/11/07/Mean_Average_Precision/]
* 정밀도(Precision)는 양성으로 판정된 것 중 실제로 참인 것의 비율을 나타냅니다. ‘참 양성 / (참 양성 + 거짓 양성)’으로 정의됩니다.
* 재현율(Recall)은 실제 값이 참인 것 중 판정이 양성인 것의 비율을 나타냅니다. ‘참 양성 / (참 양성 + 거짓 음성)’으로 정의됩니다.
딥러닝 객체 검출 알고리즘에서는 검출된 상자가 참일 가능성(확률)이 같이 출력됩니다. 확률이 몇 퍼센트 이상일 때 양성으로 판정할지의 기준선인 ‘임계값’을 몇으로 정하는지에 따라서 예측 결과가 참인지 거짓인지가 달라지기 때문에 정밀도와 재현율도 모두 달라지게 됩니다. 임계값을 바꿔가면서 실제로 참인 객체가 임계값 내에 포함될 때마다 정밀도와 재현율을 모두 측정하면 실제로 참인 객체 만큼의 정밀도, 재현율 쌍이 생기게 됩니다. 여기서 정밀도만을 골라 내어 평균을 낸 것이 평균 정밀도(AP; average precision)입니다.
[:roc_curves Receiver Operating Characteristic (ROC) curve analysis]
- machine_learning . . . . 1 match
[:energy_model_based_restrict_boltzmann_machines 에너지모델과 볼츠만머신에 대한 물리학적 접근]
- math_Euler_number . . . . 6 matches
전파거북이님[* https://ghebook.blogspot.com/2010/06/differentiation.html]의 블로그에서 발취한 글입니다.
1. '''차분'''(difference) : 두닶을 뺀 차로 \(x_2\)와 \(x_1\)의 간격을 의미한다. \(\Delta x = x_2 - x_1\)
2. '''미분소'''(differential) : 차분의 극한, \(x_1\)이 \(x_2\)로 한없이 가까이 가면 미분소라 한다. \(\lim_{x_1 \rightarrow x_2} =dx\)
[[HTML(<iframe width="480" height="385" src="https://www.youtube.com/embed/EX_is9LzFSY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)]]
- math_complex_analsys . . . . 21 matches
복소 함수론의 시작과 끝이며 가장 중요한 정리는 다음 식 (1)에 제시한 '''코쉬의 적분 정리'''(''Cauchy's integral theorem'')이다. 이 정리는 복소 함수론을 만든 수학자 '''코쉬'''(''Augustin-Louis Cauchy'')가 1814년에 제안하고 1825년에 증명했다[* A.-L. Cauchy, "Mémoire sur les intégrales définies prises entre des limites imaginaires (Memorandum on definite integrals taken between imaginary limits)," Académie des Sciences, Feb. 28, 1825.]. 자, 그럼 복소 함수론의 아름다움을 느낄 수 있는 다음 식을 보자.
해석 함수의 원뜻은 해석학(analysis)으로 분석가능한 함수이다. 해석학이라는 학문은 '''무한'''(infinity)과 '''극한'''(limit)을 다루는 학문이므로 해석 함수는 우리가 생각하는 영역에서 극한이 존재하고 무한 급수(infinite series)로 표현가능해야 한다. 따라서 '''실해석 함수'''(real analytic function)라면 반드시 식 (2)의 '''테일러 급수'''(Taylor series)로 표현가능하고 수렴해야 한다.
z &= z_0 + Re^{i\phi} \\
dz &= iRe^{i\phi}d\phi \\
여기서 가져야 하는 또 하나의 의문은 폐곡선의 내부와 외부를 어떻게 나누는가이다. 아주 일반적인 경우라면 '''조르당 곡선 정리'''(''Jordan curve theorem'')를 이용해 폐곡선의 내부와 외부를 정의할 수 있겠지만, 우리가 고민하는 것은 단순한 경우이므로 오른손 법칙만으로도 충분하다. 즉, 폐곡선이 휘어진 방향으로 엄지를 제외한 오른쪽 손가락을 위치시켰을 때 엄지가 위치한 부분이 폐곡선의 내부이다. 예를 들어, 오른손으로 돌려보면 [그림 1]의 폐곡선은 엄지가 구의 위쪽에 위치하므로 오른손 법칙에 의해 구의 위쪽이 폐곡선의 내부가 된다. 폐곡선이 휘지 않은 직선인 경우라면 폐곡선의 내부와 외부를 결정할 수 없다. 일반적으로 가면 더 어려워진다. 우리가 폐곡선의 내부와 외부를 판단하는 기준은 곡선이 휜 특성이다. 이 부분은 미분과 관련되기 때문에 미분할 수 없는 곡선(''예를 들면 프랙털 곡선(fractal curve)'')이라면 상황은 더 복잡해진다.
복소 함수의 미분이 정상적으로 정의되기 위해서는 어떤 경로를 따라 미분하더라도 그 값이 같아야 한다. (''이런 함수는 정칙 함수(正則函數, holomorphic function)라고 한다. 로랑 급수(Laurent series)를 이용하면 복소수 범위에서 정칙 함수와 해석 함수는 서로 등가라는 것을 증명할 수 있다.'') 예를 들어 실수축(x축)과 허수축(y축)을 따라 미분하면 다음을 얻는다.
복소 함수는 \(x,y\) 이변수 함수이므로 '''완전 미분'''(exact differential)을 이용해 '''미분'''(differentiation)을 구해야 한다. 이 점을 이해하지 못하면 코쉬-리만 방정식의 의미를 알 수 없다.
식 (13)의 선적분(line integral)을 위해 다음 '''그린 정리'''(Green's theorem)를 생각하자.
이상 소개한 코쉬-리만 방정식과 코쉬의 적분 정리를 바탕으로 복소 함수론의 다양한 정리들을 증명해보자. 식 (1)의 코쉬 적분 정리로부터 직접 유도가 되는 유수 정리(residue theorem)를 먼저 살펴보자. 유수 정리는 코쉬가 1831년에 증명했다. 하지만 유수(留數, residue)라는 말은 코쉬가 이미 1826년에 제안했었다.
= 유수 정리(留數定理, residue theorem) =
\oint_c f(z)dz = 2\pi i \sum_{m=0}^{M}{Res}_{z=z_m}\left[ f(z) \right] \tag{16}
식 (18)은 테일러 급수와 비슷하지만 시작점이 0이 아닌 음의 무한대이다. 식 (18)과 같은 급수는 제안자 로랑(Pierre Alphonse Laurent)의 이름을 따서 '''로랑 급수'''(Laurent series)라고 한다.
z &= z_0 + Re^{i\phi} \\
dz &= iRe^{i\phi}d\phi \\
여기서 \(a−1\)은 선적분하고 남은 찌꺼기 숫자라고 해서 유수(留數, residue)라 한다. 다시 말하면 유수는 복소 함수 \(f(z)\)의 특성이 \(1/z\)로 변할 때의 계수로 정의한다. 좀더 고상하게는 다음으로 표기할 수 있다.
{Res}_{z=z_0}\left[ f(z) \right] = a_{-1}\tag{20}
=& \cfrac{1}{2\pi i } \underbrace{\oint_c \cfrac{f(z) - f(z_0)}{z-z_0}dz}_{z=z_0+Re^{i\phi},\ dz = i(z-z_0)d\phi} \\
=& \cfrac{1}{2\pi } \underbrace{\int_0^{2\pi}\left [ f(z_0 + Re^{i\phi}) - f(z_0) \right ]d\phi}_{R \rightarrow 0} = 0
= 코쉬의 미분 공식(Cauchy's differentiation formula) =
- math_complex_number . . . . 1 match
실수(實數, real number)는 연산이 잘 정의되어 누구나 사칙 연산과 대수(代數, algebra)를 손쉽게 사용할 수 있다. 하지만, 복소수는 식 (1)의 규칙에 따라 계산을 해야 원하는 답을 얻을 수 있다.
\Re(z) =& x = \cfrac{z + z^*}{2} \\
- math_index . . . . 1 match
== [:math_differentiation_fraction 분수 미분] ==
- math_liner_algebra . . . . 30 matches
here comes some really simplified step for installing Linpack on a cluster.
LAlib = $(LAdir)/libgoto2.a -lm -L/usr/lib/gcc/i386-redhat-linux/4.1.2
1. at this stage xhpl and HPL.dat are created under /hpl/bin/Linux_PII_FBLAS
1. create a file machines in /home/USER and put in your machine names.
* The Basic Linear Algebra Subprograms (BLAS) are a set of low level linear algebra routines:
* Many linear algebra packages, including LAPACK, ScaLAPACK and PETSc, are built on top of BLAS.
* Most Most supercomputer vendors have versions of BLAS that supercomputer vendors have versions of BLAS that are highly tuned for their platforms.
* The Automatically Tuned Linear Algebra Software package (ATLAS) is a self-tuned version of BLAS (it also includes a few LAPACK routines).
* Developed by Kazushige Goto (currently at UT Austin).
* which which is a special little cache that often is ignored by is a special little cache that often is ignored by software developers.
* Goto realized that optimizing for the TLB would be more effective than optimizing for cache.
* Precision: single, double
* Data type: real, complex
* Linear least squares problems
== AMD Core Math Library (ACML) ==
* Time-to-frequency domain
* Single, Double precision (IEEE754)
* Comprehensive reference implementation
http://www.netlib.org/benchmark/hpl/software.html
! Get the rank of the processor this thread is running on. (Each
- math_log_history . . . . 1 match
17세기는 수학사에서 가장 빛나는 시기였다. 17세기 초 ''네이피어(Napier,J.:1550 ~ 1617)''는 로그를 고안하여 발표하였고, ''비에트(Viete, F. :1540 ~ 1603)''의 지수 표기법을 개선한 ''해리엇(Harriot,T. :1560 ~1621)''과 ''오트레드(Oughtred,W.:1574 ~ 1660)''는 대소의 기호화와 체계화에 기여하였으며, ''갈릴레이(Galilei, GaliLeo; 1564 ~ 1642)''는 이 로그를 응용하여 역학의 기초를 세웠고, 케플러는 행성의 운동 법칙을 발표하였다. 또한 17세기 후반에 ''데자르그(Desargues, G. ;1593~1662)''와 ''파스칼(Pascal, B. ;1623~1662)''은 순수 기하학의 새로운 장을 열었고, 직각좌표계를 창안한 ''데카르트(Descartes, R. ; 1596~1650)''는 해석기하학을 창시하였으며, 페르마의 마지막 정리로 유명한 ''페르마(Fermat, P. ; 1601~1665)''는 현대 정수론의 기초를 확립하였고, ''호이겐스(Huygens, C. ; 1629~1695)''는 확률론 등의 분야에서 두드러진 업적을 남겼다.
- math_matrix_matrix_multiple . . . . 3 matches
http://blog.naver.com/thx4alice?Redirect=Log&logNo=110032194433
http://blog.naver.com/thx4alice?Redirect=Log&logNo=110032194433
[http://blog.naver.com/wjdgmdwk8255?Redirect=Log&logNo=110146306738]
- math_study_index . . . . 3 matches
[:math_variational_formulation 변분 정식화][[footnote(http://cyhome.cyworld.com/?home_id=a0547740&postSeq=13430486&mf=&referrer=http%3A%2F%2Fsearch%2Enaver%2Ecom%2Fsearch%2Enaver%3Fsm%3Dtab_hty%2Etop%26where%3Dnexearch%26ie%3Dutf8%26query%3Dvariational%26x%3D-595%26y%3D-51&init_linkcode=)]]
- math_trigonometric_function . . . . 1 match
보통 생활에서 사용하는 각도를 재는 단위로 도(degree, ˚)를 많이 사용한다. 하지만 미적분학 등에서 사용하기에는 불편한(?) 점이 발생해서 라디안(Radian)이라는 단위를 만들어 사용한다.
- math_variational_formulation . . . . 1 match
자연현상을 수학적으로 표현하게 되면 거의 대부분 시간 그리고 공간에 대한 변화율을 포함하는 미분 방정식(differential equation)으로 귀착된다. 그런데 이러한 미분 방정식으로 표현된 수식을 강형(strong form)이라고 부르는데, 그 이유는 미분 방정식이 너무 높은 차수의 변화율을 요구하기 때문이다. 예를 들어, 분포하중을 받는 보(beam)의 처짐량은 4차 미분방정식으로 표현되기 때문에 보의 처짐량 분포는 4차 미분이 가능하여야 한다. 하지만 실제로 보의 처짐은 이보다 절반에 해당되는 2차까지 미분이 가능하면 된다.
- math_지수함수_삼각함수 . . . . 2 matches
\therefore \lim_{n\rightarrow \infty}\bigg(1+\frac{i\phi}{n}\bigg)^n &=\lim_{n\rightarrow\infty} {r}^n (\cos n\theta +i \sin n\theta)\\
- metamaterial . . . . 4 matches
1. 대역폭(Operation bandwidth): 공진기(Resonator) 구조를 채용하는 경우, 공명대역 부근에서만 메타물질의 물성이 특화될 수 있다. 이를 극복하기 위한 방안으로, 서로 다른 공명주파수를 갖는 공진기들을 함께 사용하거나, 비공명(Non-resonant) 구조의 메타원자를 사용하는 기술 등의 연구가 필요하다.
3. 설계(Design): 지금까지의 메타물질 설계방식은 거의 대부분 trial-error/retro-fit 방식으로 이루어지고 있다. 메타물질의 구조를 반복적으로 수치해석/실험을 통해 원하는 물성이 나올 때까지 변경하는 방식을 주로 사용하였다. 이런 방식은 통합된 시각에서 top-down 설계가 불가능하고, 따라서 실현 가능한 물성의 영역을 원리적으로 파악 및 구현이 힘들다는 단점이 있다. Full/semi-analytic한 방식으로 목표물성값을 주는 메타원자의 내부구조를 도출하는 것은 메타물질의 자유로운 구현에 있어서 중요한 과제이다.
또한, 129억 달러의 시장을 지니고 있는 초음파 진단 시장, 20억 달러의 시장을 지니고 있는 방진 소재 시장, 360억 달러의 무선통신 및 전자소자 시장, 390억 달러의 조명 및 태양전지 시장, 154억 달러의 의료용 이미징 시장 등에서 극한물성 시스템을 이용한 지속적 시장 성장과 신제품의 창출이 가능할 것으로 전망되며, 2022년에는 1,554억 달러 규모의 연관 시장이 형성될 것으로 전망되고있다. (출처: Energy Harvesting and Storage for Electronic Devices (IDTechEx, 2009), Metamaterials: Technologies and Global Markets (BCC Research, 2012), Ultrasonics: Global markets and technology (BCC Research, 2008))
메타물질을 통한 파동 및 진동 차단은 크게 미소구조의 주기성 특성을 응용한 음향양자 결정구조(Phononic crystal)를 이용한 방식과 내부 공진(Internal resonace) 미소구조를 통한 음의 물성을 이용하는 방법으로 나뉜다. 이 중 미소구조의 주기적 특성을 이용하는 방식은 미소구조 간의 간격기 파장의 절반이 되는 주파수 대역에서 미소구조 간의 상쇄간섭을 통해 파동 및 진동을 차단하는 방식이다. 이 방식은 상쇄간섭이 이루워지는 해당 주파수에서만 동작하기 때문에 광대역화하려는 연구가 다수 진행 중이다. 그 중 밴드 어드조이닝 기법(band adjoining method)이 최근에 제안 되어 광대역 저주파 진동 차단을 가능케 하고 있다.( 오주환, 울산과학기술원, 기계항공 및 원자력공학부 조교수)
음향 블랙홀은 러시아의 M. A. Mironov가 제시한 쐐기 형상의 구조물이다. 판/보의 부께를 멱법칙(Power-law:\(h(x0=\varepsilon x^m\))형상으로 충분히 완만하게 감소시켜 끝 단의 두께를 0으로 만들면, 음향 블랙홀의 끝 단으로 진행하는 굽힘파(Bending Wave)는 파동의 속도가 무한히 느려져 두께가 0인 끝 단에 도달하지 못하게 된다. 따라서, 끝 단으로부터 반사되는 파동에너지가 없으므로 음향 블랙홀로 입사하는 굽힘파는 마치 블랙홀에 빨려 들어가는 것처럼 반사 없이 모두 음향 블랙홀로 흡수된다. (Mironov M. A., 1988, Soviet Physics Acoustics, Vol. 34, No. 3, pp. 49~87)
- minepy . . . . 1 match
http://minepy.readthedocs.io/en/latest/
- ml_revie_infogan . . . . 13 matches
#title InfoGAN: Interpretable Representation Learning byInformation Maximizing Generative Adversarial Nets
InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets[* https://arxiv.org/pdf/1606.03657.pdf]에 대한 리뷰는 몇몇 사람들에 의해서 이미 되었기 때문에 논문을 읽어 보는 것과 동시에 다른 사람들의 논문 리뷰를 참조하도록 하겠다. 가장 먼저 세틀렉아이에서 근무하는 김홍배 박사의 infoGAN 설명 변역자료[* https://www.slideshare.net/ssuser06e0c5/infogan-interpretable-representation-learning-by-information-maximizing-generative-adversarial-nets-72268213]와 유재준 박사의 블로그[* <http://jaejunyoo.blogspot.com/2017/03/infogan-1.html>] 를 참고 했다.
[[HTML(<embed src="//www.youtube.com/v/_4jbgniqt_Q?showinfo=0&fs=0&rel=0&theme=light" type="application/x-shockwave-flash" width="560" height="315" allowScriptAccess="always" allowFullScreen="true"></embed>)]]
--Loss Function으로 Cross Entropy를 사용할 경우 label값이 0인 경우에는 prediction값에 무관하게 0으로 처리 되기 때문에 이를 보완하기 위해서 대칭 되는 항을 추가해서 사용했다.--
\(discriminator \left[ \begin{matrix} real:& p=1, q=D(x)\\ fake:& p=0, q=D(G(z)) \end{matrix} \right.\left[ \begin{matrix} real:& p'=0, q'=1-D(x)\\ fake:& p'=1, q'=1-D(G(z)) \end{matrix} \right.\)
- modern_cpp . . . . 2 matches
compiler explore 를 통해서 확인 할 수 있다.
https://diaryofgreen.tistory.com/137
- monad . . . . 1 match
https://leadsoftkorea.github.io/authors/liam.m/
- mp3_unicade_change . . . . 1 match
find -type f -iregex ".*/.*\.\(ogg\|mp3\|flac\)" -print0 | xargs -0 mid3iconv -e cp949
- multi_GPU_pytorch . . . . 3 matches
nn.DataParallel()로 모델을 감싸면 학습을 할때 replicate → scatter → parallel_apply → gather 순서대로 학습 데이터를 쪼개고 합치는 일을 수행한다.
https://pytorch-lightning.readthedocs.io/en/latest/multi_gpu.html
https://kose-y.github.io/blog/2017/12/installing-cuda-aware-mpi/
- multiprocessing . . . . 93 matches
= Multiprocessing vs Threading vs AsyncIO =
동시성(concurrency)를 python에서 구현하는 방법에 대해서 알아보자 물리적인 코어와 별개로 가상의 라이프 타임을 설정하여 프로그램의 동시성을 구현할 수 있는 방법이 여러개 존재하는데 그 차이점과 활용에 대해서 알아보자.
Python에서는 여러개의 Thread가 있을 때 동기화하기 위해서 Global Interproter Lock(GIL)을 사용합니다. 이 기술은 전역으로 Lock을 두고, 이 Lock를 점유한 thread만 작업을 수행하도록 제안하기 때문에 동시에 하나의 thread만 수행되게 됩니다.(이 때문에 실제 물리적 CPU Core를 다 사용할 수 없음)
num_cores = multiprocessing.cpu_count() # 12
def square(input_list):
return [x*x for x in input_list]
splited_data = np.array_split(data, num_cores)
result = parmap.map(square, splited_data, pm_pbar=True, pm_processes=num_cores)
= Threading =
Threading library를 사용하면, CPU 활용에서 이점을 얻을 수 있는데 CPU 계산이 끝나고 I/O 작업을 수행해야 하는 순간 idle 상태가 되는데 이때 다른 쓰레드의 일을 수행할 수 있다. 이 때문에 CPU는 쉬지 않고 다른 작업을 수행한다.(CPU 100% 활용)
import threading
break
# pretend waiting a long time for I/O
return 42
spinner = threading.Thread(target=spin,
result = slow_function() # 10
return result
result = supervisor() # 13
print('Answer:', result)
* 별도로 생성된 thread 오브젝트를 출력한다. 대략 <Thread(Thread-1, initial)> 와 같이 출력된다.
- mysql_mac . . . . 2 matches
https://github.com/helloheesu/SecretlyGreatly/wiki/%EB%A7%A5%EC%97%90%EC%84%9C-mysql-%EC%84%A4%EC%B9%98-%ED%9B%84-%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0||
- neovim . . . . 31 matches
맥의 경우는 brew로 간단히 설치 가능하다.
* brew install neovim/neovim/neovim
우분투의 경우 repository를 먼저 등록해줘야 한다.
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:neovim-ppa/unstable
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
\ 'diary_rel_path': '.',
\ 'diary_rel_path': '.',
nnoremap <F4> :execute "VWS /" . expand("<cword>") . "/" <Bar> :lopen<CR>
nnoremap <S-F4> :execute "VWB" <Bar> :lopen<CR>
The fancy start screen for vim
https://github.com/ycm-core/YouCompleteMe
=== NERDTree ===
Plug 'scrooloose/nerdtree'
단축키 nnoremap f :NERDTree<CR>
:NERDTree
return
let l:wiki_directory = v:false
- netstat . . . . 2 matches
netstat -an | grep 포트번호 : 특정 포트가 사용 중에 있는지 확인
||SYN_RECEIVED ||서버가 클라이언트로부터 접속 요구(SYN)을 받아 클라이언트에게 응답(SYN/ACK)하였지만, 아직 클라이언트에게 확인 메시지(ACK)는 받지 못한 상태 ||
https://edushare.tistory.com/45
- network_QoS_diffserv . . . . 2 matches
1. 미터에 의해 측정된 트래픽 플로우를 사전에 약속한 트래픽 특성과 비교하여 결과에 따라 마킹한다. (구분한 클래스에 대해 Policy-Map 을 통해 마킹하여 우선순위 지정한다. IP Precedence, DSCP 가 L3 마킹 종류이다.)
http://www.it.iitb.ac.in/research/labs/networks_lab/manual.pdf
- neural_additive_models . . . . 6 matches
NIPS2021에 발표된 '''Neural Additive Models: Interpretable Machine Learning with Neural Nets'''[* https://papers.nips.cc/paper/2021/file/251bd0442dfcc53b5a761e050f8022b8-Paper.pdf]를 읽고 내용을 정리해본다.
찾아보니 국내 이 논문에 대해서 작성된 리뷰가 있다. [* https://themore-dont-know.tistory.com/14?category=837958] 간단한 설명이지만 참고가 될만한 코드[* https://github.com/merchen911/NAM]가 있어서 기록을 남긴다.
기본적으로 딥러닝 모델은 해석이 거의(?) 불가능한 블랙박스로 취급되어진다. 본 논문에서는 Generalized additive models (GAMs)[* https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=je1206&logNo=220804476471]의 한 종류인 유리박스(glass-box) 모델인 Neural Additive Models(NAMs)를 제안하고 있다.
https://direction-f.tistory.com/97
https://direction-f.tistory.com/85
https://direction-f.tistory.com/87
- nextcloud.conf . . . . 11 matches
upstream php-handler {
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host/remote.php/dav;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
rewrite ^ /index.php$uri;
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_request_buffering off;
- nextcloud_installation . . . . 5 matches
$wget https://download.nextcloud.com/server/releases/nextcloud-18.0.0.zip
pm.max_children = 30
pm.max_requests = 500
request_terminate_timeout = 300
$ sudo service php-fpm restart
- nextcloud_ssl.conf . . . . 17 matches
upstream php-handler {
return 301 https://$server_name$request_uri;
ssl_session_cache shared:SSL:1m;
ssl_prefer_server_ciphers on;
return 301 $scheme://$host/remote.php/dav;
return 301 $scheme://$host/remote.php/dav;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
rewrite ^ /index.php$uri;
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_request_buffering off;
fastcgi_read_timeout 300;
fastcgi_request_buffering off;
- nginx_php . . . . 2 matches
opcache.revalidate_freq=1
- nims_ann_library . . . . 5 matches
git clone git://210.119.60.156:/repo/anncpp.git
== Creating a data set ==
== OpenANN Architecture ==
= Features =
* Preprocessing methods
- nims_cluster_install_guide . . . . 3 matches
Intel OpenCL은 Intel Software[[footnote(http://software.intel.com/en-us/vcsource/tools/opencl-sdk)]]에서 최신 버전을 받아서 설치 할 수 있다.
icd-registration.tgz
ReadMe.txt
- nips2016 . . . . 1 match
2016년도 학회가 처음으로 참석한 해이다. 전해 듣기로는 이전 연도까지 각종 CNN과 RNN관련 논문들이 발표되었다고 들었다. 하지만 올해는 그 어느 발표에서도 이 두 키워드를 찾아볼 수 없다. 이미 두 알고리즘에 대해서는 소화가 끝났고 배설이 시작되는 듯하다. 이미 딥러닝을 이루는 빌딩 블록이 되어 버렸기에 어디에도 언급되지 않는 것이다. 올해의 새로운 키워드는 Unsupervised Learning이다. 그중에서도 Variational inference, Generative Adversarial과 Bayes Learning이 눈에 띄었다. 그리고 또 하나의 키워드는 Reinforcement Learning이다. 강화학습은 알파고로 인해서 많은 사람에게 알려진 알고리즘이다. 이번 학회를 한 장으로 정리하면 LeCun's Cake로 정리할 수 있다.
Big Data 시대 데이터는 넘쳐나고 가공할 시간적 여유는 없는 시대 누가 일일이 데이터를 정리해서 의미를 찾으려고 하겠는가? 그냥 모든 데이터를 기계에 넘겨주고 분석을 맡기고 싶지 않겠는가? 누구나 그런 생각을 해봤을 것이다. 그러한 방법을 Unsupervised Learning이라고 한다. 사람의 지도 없이 기계가 스스로 데이터를 기반으로 학습하는 방법. 하지만 기계가 스스로 하는 데는 정확도 측면에서 한계가 있다. 사람의 의도를 모르기 때문이다. 기계 스스로가 만들어 놓은 지식 위에 사람(Human)의 의지만 넣을 수 있다면 어떨까? Unsupervised Learning이 끝나면 Labeled 데이터를 이용해서 Supervised Learning을 한다. 이렇게 함으로써 사람의 의지를 기계에 전달할 수 있게 된다. 이 단계까지 진행되면 막대한 데이터를 사람의 의지대로 분석할 수 있게 된다. 마지막으로 기계가 사람을 넘어 설 수 있도록 Reinforcement Learning으로 마무리하게 된다. 게임의 규칙처럼 정해진 규칙에서 가장 높은 점수를 내도록 트레이닝 된 기계가 정확도를 높이는 것이다. 이것이 이번 학회의 화두이고 앞으로 딥러닝이 진행할 길인 것이다.
- note_index . . . . 7 matches
[:androd_store 해외롬 사용자 통신사 마켓 쓰기]
[:wireshark 네트워크 패킷을 캡쳐해주는 프로그램 WireShark]
[:quadtree_paper_reading Quadtree construction on the GPU]
[:work_mmpc_update Firmware Update 시스템]
[[RecentChanges(item=10,quick,nonew)]]
- notebook_lenovo_e145 . . . . 9 matches
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
To install Marlin File Browser in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the terminal:
sudo add-apt-repository ppa:marlin-devs/marlin-daily
sudo apt-add-repository -y ppa:teejee2008/ppa
- notebook_msi_x200 . . . . 8 matches
deb http://dev.naver.com/repos deb/
그뒤에 repository를 업데이트 해준다
sudo apt-get install ttf-bitstream-vera
(sleep 1 && xscreensaver -no-splash) &
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm
http://ubuntuguide.org/wiki/Ubuntu_Precise_Network_Management
http://www.windowslab.org/index.php?document_srl=139925&mid=lecture_unixlinux 누군가의 우분트 openbox
- numerical_analysis_note . . . . 8 matches
'''정리 3.1)''' 와이어스트라스[* Karl Weierstrass (1815~1897) ) is often referred to as the father of modern analysis because of his insistence on rigor in the demonstration of mathematical results. He was instrumental in developing tests for convergence of series, and determining ways to rigorously define irrational numbers. He was the first to demonstrate that a function could be everywhere continuous but nowhere differentiable, a result that shocked some of his contemporaries.] 다항식 근사 정리(Weierstrass Approximation Theorem)
- odroid_index . . . . 7 matches
# server_name_in_redirect off;
default_type application/octet-stream;
a2enmod rewrite
a2enmod rewrite는 아파치를 설치하면 생기는데 사용가능한 모듈을 연결해주는 역할을 한다.
https://www.linuxbabe.com/bittorrent/deluge-bittorrent-client-ubuntu-16-04
- omicron_installation . . . . 11 matches
[* https://kgwg.nims.re.kr/resnote/omicron_installation]{{{#!php
freetype/freetype.h 에러 발생시 /usr/lib/freetype2 에 freetpye이 설치 되어 있는지 확인해서 ln -s /usr/lib/freetype2 /usr/lib/freetype 설정
apt install -y libx11-dev libxpm-dev libxft-dev libxext-dev freetype2-demos
ln -s /usr/include/freetype2 /usr/include/freetype
- openann . . . . 2 matches
cmake .. -DCMAKE_INSTALL_PREFIX=~/lib
1. yum install freeglut-devel or apt-get install freeglut3-dev
- opencl_atomic_cmpxchg . . . . 32 matches
ulong atom_add (volatile __local ulong *p, ulong val) ||Read the 64-bit value (referred to as old) stored at location pointed by p. Compute (old + val) and store result at location pointed by p. The function returns old. ||
ulong atom_sub (volatile __local ulong *p, ulong val) ||Read the 64-bit value (referred to as old) stored at location pointed by p. Compute (old - val) and store result at location pointed by p. The function returns old. ||
ulong atom_xchg (volatile __local ulong *p, ulong val) ||Swaps the old value stored at location p with new value given by val). Returns old value. ||
ulong atom_inc (volatile __local ulong *p) ||Read the 64-bit value (referred to as old) stored at location pointed by p. Compute (old + 1) and store result at location pointed by p. The function returns old. ||
ulong atom_dec (volatile __local ulong *p) ||Read the 64-bit value (referred to as old) stored at location pointed by p. Compute (old - 1) and store result at location pointed by p. The function returns old. ||
ulong atom_cmpxchg (volatile __local ulong *p, ulong cmp, ulong val) ||Read the 64-bit value (referred to as old) stored at location pointed by p. Compute (old == cmp) ? val : old and store result at location pointed by p. The function returns old. ||
[http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/cl_khr_int64_base_atomics.html cl_khr_int64_base_atomics / khronos]
- opencl_guide . . . . 45 matches
Intel 사이트[[footnote(http://software.intel.com/en-us/vcsource/tools/opencl-sdk)]] 에서 최신 SDK를 받을 수 있다.
최근에 1.2가 릴리즈 되면서 최신 리눅스 버전은 따로 배포를 하고 있다.[[footnote(http://software.intel.com/en-us/vcsource/tools/opencl-sdk-xe)]]
icd-registration.tgz
ReadMe.txt
#sudo apt-get --purge remove nvidia*
Samples: Installation Failed. Missing required libraries.
* Please make sure your PATH includes /usr/local/cuda-5.0/bin
* Please make sure your LD_LIBRARY_PATH
* To uninstall CUDA, remove the CUDA files in /usr/local/cuda-5.0
cl_uint ret_num_devices;
cl_uint ret_num_platforms;
cl_int ret;
source_size = fread(source_str, 1, MAX_SOURCE_SIZE, fp);
ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);
ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_DEFAULT, 1, &device_id, &ret_num_devices);
context = clCreateContext(NULL, 1, &device_id, NULL, NULL, &ret);
command_queue = clCreateCommandQueue(context, device_id, 0, &ret);
memobj = clCreateBuffer(context, CL_MEM_READ_WRITE, MEM_SIZE * sizeof(char), NULL, &ret);
program = clCreateProgramWithSource(context, 1, (const char **)&source_str, (const size_t *)&source_size, &ret);
ret = clBuildProgram(program, 1, &device_id, NULL, NULL, NULL);
- opencl_profilling_time . . . . 9 matches
#title How to measure OpenCL Kernel execution time
''I need to be able to measure Kernel execution time to validate some options. For a long long Kernel you may use wallclock, but it’s not the right way to do it. There are few steps to measure accurately the Kernel execution time:''
'''Create Queue with Profiling enabled'''
command_queue = clCreateCommandQueue(context, devices[deviceUsed], CL_QUEUE_PROFILING_ENABLE, &err);
'''Ensure to have executed all enqueued tasks'''
'''Ensure kernel execution is finished'''
clWaitForEvents(1 , &event);
- opencl_reqd_work_group_size . . . . 2 matches
{{{ __attribute__((reqd_work_group_size(X, Y, Z)))}}}
__attribute__((reqd_work_group_size(32,32,1)))
- opencl_subdevice . . . . 7 matches
host에서 사용할 1개의 core를 제외 시켜서 device를 잡는 것이 효과적인데 이럴 때 사용하는 것이 sub device이다.
ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_CPU, 1, &device_id, &ret_num_devices);
ret = clGetDeviceInfo(device_id, CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(cl_uint), &num_cu, NULL);
ret = clGetDeviceInfo ( device_id, CL_DEVICE_NAME, sizeof(infoStr), infoStr, &infoLen );
ret = clCreateSubDevices(device_id, props, 2, device_ids, NULL);
- opencv_c_c++ . . . . 31 matches
capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
ret, frame = capture.read()
if cv2.waitKey(1) > 0: break
capture.release()
capture = cv2.VideoCapture(0)
'''cv2.VideoCapture(n)''' 컴퓨터로 부터 카메라 객체를 갖고 오는 함수로 0은 내장 카메라고 1~n까지 외장 카메라 객체를 불러 올 수 있음.
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
'''capture.set(option, n)'''과 같이 카메라 객체에 속성을 설정할 수 있음.
ret, frame = capture.read()
if cv2.waitKey(1) > 0: break
'''ret, frame = capture.read()''' 카메라 객체로 부터 프레임 데이터를 읽어 온다.
읽어오는 행위가 정상적이였으면 '''ret'''에 True를 반환하고 그렇지 못할 경우 False를 반환함.
'''if cv2.waitKey(1) > 0: break''' 무한 루프를 탈출하기 위한 장치로 키 입력을 받는 것으로 했다.
capture.release()
'''capture.release()''' 카메라 객체가 사용한 메모리를 반환한다.
각 픽셀의 밝기가 위 그림과 같다고 하면 중심 픽셀의 밝기보다 주변의 픽셀이 밝으면 '1' 그렇지 않으면 '0'이라고 하면 중심 픽셀에 대한 feature로 8bit 정보를 얻을 수 있다. 이 8bit 정보는 사용하는 것이 CT이고 알고리즘을 살짝 수정해서 9개의 픽셀의 평균 밝기를 계산하고 그 평균보다 밝으면 '1' 그렇지 않으면 '0'을 할당하여 중심 픽셀에 대한 정보를 포함해서 9bit 정보를 사용하는 것이 MCT이다.
return mct
- osx_utility . . . . 16 matches
* mpc - http://www.multiprecision.org/index.php?prog=mpc&page=download
* mpfr - http://www.mpfr.org/mpfr-current/#download
* isl - ftp://gcc.gnu.org/pub/gcc/infrastructure/
configure & make 의 기본 과정은 아래와 같다.
../configure --prefix=/usr/local/gcc-5.3.0 --enable-cxx
../configure --prefix=/usr/local/gcc-5.3.0 --with-gmp=/usr/local/gcc-5.3.0
../configure --prefix=/usr/local/gcc-5.3.0 --with-gmp=/usr/local/gcc-5.3.0 --with-mpfr=/usr/local/gcc-5.3.0
../configure --prefix=/usr/local/gcc-5.3.0 --with-gmp-prefix=/usr/local/gcc-5.3.0
../configure --prefix=/usr/local/gcc-5.3.0 --enable-checking=release --with-gmp=/usr/local/gcc-5.3.0 --with-mpfr=/usr/local/gcc-5.3.0 --with-mpc=/usr/local/gcc-5.3.0 --enable-languages=c,c++,fortran --with-isl=/usr/local/gcc-5.3.0 --program-suffix=-5.3.0
- p_value . . . . 14 matches
미국 통계학회(ASA)는 {통계적 유의성과 P값에 대한 성명서}를 통해, "확실성을 추구하다가 발을 헛딛는 우(愚)를 범하지 말라"고 권고 했다.[* http://www.ibric.org/myboard/read.php?Board=news&id=270293]
※ 출처: http://www.amstat.org/newsroom/pressreleases/P-ValueStatement.pdf
1. Wasserstein, R. L. & Lazar, N. A. advance online publication The American Statistician (2016); http://www.amstat.org/newsroom/pressreleases/P-ValueStatement.pdf
2. http://www.nature.com/news/reproducibility-1.17552
3. http://www.nature.com/news/how-scientists-fool-themselves-and-how-they-can-stop-1.18517
4. http://www.nature.com/news/statistics-p-values-are-just-the-tip-of-the-iceberg-1.17412
7. http://www.nature.com/news/psychology-journal-bans-p-values-1.17001
※ 출처: Nature 531, 151 (10 March 2016) doi:10.1038/nature.2016.19503 http://www.nature.com/news/statisticians-issue-warning-over-misuse-of-p-values-1.19503
- paper_review_index . . . . 24 matches
[https://arxiv.org/abs/1606.03657 InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets]
Xi Chen, Yan Duan, Rein Houthooft†, John Schulman†, Ilya Sutskever[* UC Berkeley, Department of Electrical Engineering and Computer Sciences, OpenAI]
[:ml_revie_infogan Review note]
[https://arxiv.org/pdf/1608.08021v3.pdf PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection]
[attachment:dnn_manuscript.pdf Enabling Real-time Multimessenger Astrophysics with Deep Neural Networks]
[:gw_ml_review Review note]
[:review_note_1608.08225v1 Review Note], September 12, 2016
[http://arxiv.org/pdf/1506.02142v5.pdf Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning]
Junbo Zhao, Michael Mathieu and Yann LeCun [* Department of Computer Science, New York University Facebook Artificial Intelligence Research], September 14, 2016
[:GAN_review Review note]
Martin Arjovsky, Soumith Chintala, and L´eon Bottou[* Courant Institute of Mathematical Sciences, Facebook AI Research], Jan 26, 2017
[https://arxiv.org/pdf/1702.04782.pdf PRECISE RECOVERY OF LATENT VECTORS FROM GENERATIVE ADVERSARIAL NETWORKS]
[:GAN_iclr_2017 review Review note]
[http://arxiv.org/pdf/1609.06536v1.pdf Facial Performance Capture with Deep Neural Networks]
Samuli Laine [* NVIDIA, http://www.creativeai.net/posts/hnvNt8tomeEnLtFv6/facial-performance-capture-with-deep-neural-networks] September 21, 2016
[http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45580.pdf Reward Augmented Maximum Likelihood for Neural Structured Prediction]
[https://arxiv.org/pdf/1506.01497v3.pdf Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks]
Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun[* University of Science and Technology of China, http://pjreddie.com/darknet/yolo/], 2016
[:r_cnn_review Review note]
[http://www.ee.nmt.edu/~elosery/lectures/Quadrature_signals.pdf Quadrature signals: complex, but Not complicated]
- parallel_processor_flynn . . . . 6 matches
Michael J. Flynn은 ''instruction stream''과 ''data stream''에 따른 모든 컴퓨터 아키텍처를 4가지로 분류했다.
Single Instruction, Single Data stream
Single Instruction, Multiple Data stream
Multiple Instruction, Single Data stream
Multiple Instruction, Multiple Data stream
- parallel_programming_ex . . . . 5 matches
void compute_reference(float* C, const float* A, const float* B, unsigned int width_A, unsigned int height_A, unsigned int width_B)
if (i >= ROW_A || j >= COL_B) return;
if (i >= ROW_A) return;
if (i >= ROW_A || j >= COL_B) return;
- pci_express_spec . . . . 67 matches
== 6.18. Latency Tolerance Reporting (LTR) Mechanism ==
''The Latency Tolerance Reporting (LTR) mechanism enables Endpoints to report their service latency requirements for Memory Reads and Writes to the Root Complex, so that power management policies for central platform resources (such as main memory, RC internal interconnects, and snoop resources) can be implemented to consider Endpoint service requirements. ''
''The LTR Mechanism does not directly affect Link power management or Switch internal power management, although it is possible that indirect effects will occur. ''
''The implications of “latency tolerance” will vary significantly between different device types and implementations. When implementing this mechanism, it will generally be desirable to consider if service latencies impact functionality or only performance, if performance impacts are linear, and how much it is possible for the device to use buffering and/or other techniques to compensate for latency sensitivities. ''
''The Root Complex is not required to honor the requested service latencies, but is strongly encouraged to provide a worst case service latency that does not exceed the latencies indicated by the LTR mechanism. ''
''LTR support is discovered and enabled through reporting and control registers described in [:pci_express_spec#s-2 Chapter 7]. Software must not enable LTR in an Endpoint unless the Root Complex and all intermediate Switches indicate support for LTR. Note that it is not required that all Endpoints support LTR to permit enabling LTR in those Endpoints that do support it. When enabling the LTR mechanism in a hierarchy, devices closest to the Root Port must be enabled first, then moving downwards towards the leaf Endpoints. ''
''If an LTR Message is received at a Root Port that does not support LTR or if LTR is not enabled, the Message must be treated as an Unsupported Request.''
= 7. Software Initialization and Configuration =
''The PCI Express Configuration model supports two Configuration Space access mechanisms: ''
* PCI Express Enhanced Configuration Access Mechanism (ECAM)
''The PCI compatible mechanism supports 100% binary compatibility with PCI 3.0 or later aware operating systems and their corresponding bus enumeration and configuration software. ''
''The enhanced mechanism is provided to increase the size of available Configuration Space and to optimize access mechanisms. ''
''To maintain compatibility with PCI software configuration mechanisms, all PCI Express elements have a PCI-compatible Configuration Space. Each PCI Express Link originates from a logical PCI-PCI Bridge and is mapped into Configuration Space as the secondary bus of this Bridge. The Root Port is a PCI-PCI Bridge structure that originates a PCI Express Link from a PCI Express Root Complex (see Figure 7-1). ''
''A PCI Express Switch is represented by multiple PCI-PCI Bridge structures connecting PCI Express Links to an internal logical PCI bus (see Figure 7-2). The Switch Upstream Port is a PCI-PCI Bridge; the secondary bus of this Bridge represents the Switch’s internal routing logic. Switch Downstream Ports are PCI-PCI Bridges bridging from the internal bus to buses representing the Downstream PCI Express Links from a PCI Express Switch. Only the PCI-PCI Bridges representing the Switch Downstream Ports may appear on the internal bus. Endpoints, represented by Type 0 Configuration Space headers, are not permitted to appear on the internal bus. ''
''A PCI Express Endpoint is mapped into Configuration Space as a single Function in a Device, which might contain multiple Functions or just that Function. PCI Express ndpoints and Legacy Endpoints are required to appear within one of the Hierarchy Domains originated by the Root Complex, meaning that they appear in Configuration Space in a tree that has a Root Port as its head. ''
''Unless otherwise specified, requirements in the Configuration Space definition for a device apply to single Function devices as well as to each Function individually of a multi-Function device. ''
- pci_interface_review . . . . 3 matches
= PCI Express link performance =
|표 1. PCI Express link performance|<tablewidth="700px"><|2> PCI Express version||<|2> line Code |||||| per Lane |||| In a X 16-land ||
- pico_init_research . . . . 12 matches
output reg [127:0] PicoDataOut = 0
wire RdAddrValid = PicoRdAddr[31:0] == 32'h10A00000;
wire WrAddrValid = PicoWrAddr[31:0] == 32'h10A00000;
reg [127:0] TheReg = 0;
TheReg <= 128'h0;
// The data being written is in PicoDataIn. Flip the bits and store it.
TheReg <= ~PicoDataIn;
// Place the requested data on PicoDataOut on the next cycle.
PicoDataOut <= TheReg;
== software code ==
* This program shows how to use the PicoBus128 interface to firmware, using the PicoBus128_HelloWorld firmware module.
* e.g. "./helloworld ../firmware/M501_PicoBus128_HelloWorld.bit"
"For example: helloworld ../firmware/M501_PicoBus128_HelloWorld.bit\n");
if((err = drv->ReadDeviceAbsolute(0x10A00000, buf2, 16)) < 0) {
fprintf(stderr, "Error Reading: %d\n", err);
printf("Read: 0x%08x%08x%08x%08x\n", buf2[3], buf2[2], buf2[1], buf2[0]);
fprintf(stderr, "Error: Readback mismatch!\n");
return 0;
- poisson_process . . . . 4 matches
f = plt.figure(figsize=(15,2))
# here is the "aggregated" time series plot
plt.figure(figsize=(15,2))
- ppsspp_install_guide . . . . 13 matches
apt-get install freeglut3-dev
wget http://www.libsdl.org/release/SDL2-2.0.3.tar.gz
./configure
1. /Core/HLE/sceAtrac.cpp:94:34: fatal error: libavformat/avformat.h: No such file or directory
1. /Core/HLE/sceAtrac.cpp:95:38: fatal error: libswresample/swresample.h: No such file or directory
sudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get install frei0r-plugins
-- No build type selected, default to Release
Building for x86, Release
-- libswresample location: /home/wskim/work/ppsspp/ffmpeg/linux/x86_64/lib/libswresample.a
- proframming_file_open_decode_encode . . . . 4 matches
return 0;
return 0;
return 0;
return 0;
- program_language_c . . . . 14 matches
return 0;
= 수식과 지정 (Expressions and assignment) =
return 0;
return 0;
return 0;
return 0;
return 0;
printf("ip : %#x, ip address : %#x\n", ip, &ip);
printf("jp : %#x, jp address : %#x\n", jp, &jp);
free(ip);
free(jp);
return 0;
ip : 0x803010, ip address : 0xa8532128
jp : 0x803030, jp address : 0xa8532130
- programming_atod . . . . 3 matches
return sign * n ;
return -1;
return 0;
- programming_cli_ex . . . . 6 matches
break;
return 0;
break;
break;
break;
break;
- programming_clock_gettime . . . . 4 matches
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
먼저 clock_gettime은 시간 관련 구조체가 struct timespec으로 바뀌었는데 나노초까지 지정할 수 있다. 물론 모든 시스템이 나노초까지 정밀한 시계를 제공하는 것은 아니다. 각 시스템 시계의 정밀도는 clock_getres로 확인할 수 있다.
또한 clock_gettime은 멀티코어 CPU 시대에 걸맞게 쓰레드 안전(thread safety)을 만족하고 있다.
인수로 쓰이는 clockid_t 타입은 시계의 종류를 나타내는 ID로서 POSIX 시스템은 기본적으로 2가지 타입(CLOCK_REALTIME, CLOCK_MONOTONIC)의 시계를 제공한다. 그리고 추가적으로 몇 개의 시계를 더 제공할 수 있다. 아래 표를 보면 몇몇 시계 ID를 정리해두었다. 그러나 실제 시스템에서는 이보다 더 많은 비표준 시계 ID를 제공하기도 한다.
||CLOCK_REALTIME ||시스템 전역의 실제 시계(The UNIX Epoch 시간) ||
||CLOCK_THREAD_CPUTIME_ID ||쓰레드 단위 CPU 사용 시간 ||
여기서 CLOCK_REALTIME을 사용하면 실제 시간을 구하므로 gettimeofday의 기능과 같은 기능을 제공한다. 이제 현재 시각을 버퍼에 저장하는 간단한 예제 코드를 살펴보자.
if (clock_gettime(CLOCK_REALTIME, &tspec) == -1) {
- programming_cpp_cout_cin . . . . 3 matches
C++에서는 '''iostream'''을 include해서 standard 입출력을 수행한다.
#include <iostream>
return 0;
- programming_cpp_template . . . . 5 matches
template <class tParent> class CHero : public tParent
#include <iostream>
return temp;
return 0;
- programming_f_function . . . . 7 matches
시스템 함수인 open(), read(), write(), 등의 함수들과 비슷한 일을 해주는 것들인데.. 뭔가가 다르다.
{{{{color: rgb(1, 100, 100); font-size: 15px; font-weight: bold;} CR(Carriage Return) 이란? }}}
CR(Carriage Return)는 특수 문자 '\r'로 표현한다.
free( str);
return 0;
||int fputc(int c, FILE* stream) ||
||int fgets(FILE* stream) ||
||int fputs(const char* s, FILE* stream) ||
||int fscanf(FILE* stream, const char* format, ...) ||
- programming_gcc_multi_version . . . . 1 match
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- programming_library . . . . 15 matches
return a + b;
return a - b;
int result;
[root@localhost test]# gcc -shared -W1,-soname,libmysum.so.1 -o libmysum.so.1.0.1 mysum.o
'''-shared''' : 공유 라이브러리를 만들기 위한 옵션
./print_sum: error while loading shared libraries: libmysum.so: cannot open shared object file: No such file or directory
int (*result)(int, int);
break;
result = dlsym(handle, plug_num[i].func);
printf("%s %s %s = %d\n",left, oper, right, result(atoi(left), atoi(right)) );
return a * b;
return a / b;
[root@localhost test]# gcc -shared -W1,-soname,libmymulti.so.1 -o libmymulti.so.1.0.1 mymulti.o
- programming_linux_getch . . . . 1 match
return ch;
- programming_mpi . . . . 44 matches
return 0;
1. MPI_Recv()
== MPI Features ==
== Sending and Receiving Message ==
1. MPI_Recv(buf, count, datatype, src, tag, comm, status)
int send = -1, recv = -1;
printf("Before : nRank(%d) send = %d, recv = %d\n", nRank, send, recv);
MPI_Recv(&recv, 1, MPI_INTEGER, ROOT, tag, MPI_COMM_WORLD, &status);
printf("After : nRank(%d) send = %d, recv = %d\n", nRank, send, recv);
return 0;
Before : nRank(0) send = -1, recv = -1
After : nRank(1) send = -1, recv = 7
1. MPI_Isend(buf, count, datatype, dest, tag, comm, MPI_Request)
1. MPI_Irecv(buf, count, datatype, src, tag, comm, MPI_Request)
* '''MPI_Request''' : communication request handle
int nQuotient, nRemainder, nMyStart, nMyEnd, nMySum=0, nTotal = 0;
MPI_Request request;
nRemainder = NUMBER % nProcs;
if(nRank == nProcs - 1) nMyEnd += nRemainder;
MPI_Recv(&nMySum, 1, MPI_INTEGER, i, tag, MPI_COMM_WORLD, &status);
- programming_openmp . . . . 66 matches
멀티 프로세스를 사용한 fork()와 멀티 스레드를 사용하는 pthread() 등이 백그라운드 로딩이라든지 네트워크 통신등에 많이 사용되고 있었고 지금도 사용 되고 있다.
* 컴파일러 지시자 (Pragma Directive)
|'''표 1'''. 컴파일러별 컴파일 옵션 및 Default 값 |<tablewidth="700px"> '''Compiler''' || '''Compiler Options''' || '''Default behavior for # of threads (OMP_NUM_THREADS not set)''' ||
|| GNU (gcc, g++, gfortran) || -fopenmp || as many threads as available cores ||
|| Intel (icc ifort) || -openmp || as many threads as available cores ||
|| Portland Group (pgcc,pgCC,pgf77,pgf90) || -mp || one thread ||
|'''표 2'''. OpenMP 버전 테이블 |<tablewidth="400px">'''Version''' || '''Language''' || '''Release Value''' ||
export OMP_NUM_THREADS=8
* omp_set_num_threads(integer) : 동작하는 스래드의 수를 정의 하는 함수
* omp_get_num_threads() : 현재 동작하는 스래드의 수를 얻는다.
* omp_get_thread_num() : 현재 스래드의 id를 얻는다.
* omp_get_max_threads() : 최대 사용 가능한 스래드의 수를 얻는다.
== 컴파일러 지시자(Compiler Directives) ==
omp_set_num_threads(4);
tid = omp_get_thread_num();
tid = omp_get_thread_num() * (omp_get_num_threads() - 1);
return 0;
omp_set_num_threads(THN);
tid = omp_get_thread_num();
tid = omp_get_thread_num();
- programming_popen_fuction . . . . 2 matches
return -1;
return 0;
- programming_struct_usage . . . . 2 matches
return 0;
return 0;
- public_problem . . . . 11 matches
홈페이지 : www.jointree.co.kr/ [http://www.k-safetyexpo2020.com/lib/download.php?file_name=jointree_company.pdf&save_file=com_intro_file_202008311234330.pdf&file_path=/upload/company/ 회사소개서]
[[HTML(<iframe width="960" height="533" src="https://www.youtube.com/embed/v51G1WyfJXU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)]]
[[HTML(<iframe width="700" height="389" src="https://www.youtube.com/embed/FQysv-q07L8" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)]]
[[HTML(<iframe width="700" height="389" src="https://www.youtube.com/embed/jSQY9R6Gi0g" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)]]
- pyinstaller . . . . 6 matches
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
return os.path.join(base_path, relative_path)
form = resource_path("state.ui")
- python_animation_plot . . . . 14 matches
# args are ([x-coords], [y-coords])
fig = plt.figure()
# make the axes revolve around [0,0] at the center
# plot an empty line and keep a reference to the line2d instance
attachment:result.png?width=400px
fig = plt.figure()
return np.sin(x) + np.cos(y)
y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
# current frame; here we are just animating one artist, the image, in
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,repeat_delay=1000)
attachment:result2.png?width=400px
- python_c_c++ . . . . 37 matches
boost Getting Started on Windows[https://www.boost.org/doc/libs/1_69_0/more/getting_started/windows.html] 페이지의 1. Get Boost에 보면 [https://www.boost.org/users/history/version_1_67_0.html boost_1_67_0.7z or boost_1_67_0.zip]을 받을 수 있는 링크를 확인할 수 있다.
./bootstrap.sh --prefix=/opt/boost-python/1.67.0 --libdir=/opt/boost-python/1.67.0/lib --with-libraries=python --with-python=python
-lpython3.7m -lpthread -ldl -lutil -lrt -lm
char const* greet(unsigned x)
throw std::range_error("greet:index out of range");
return msg[x];
def("greet", greet,"hello world");
'''greet''' 함수가 실제 파이션에 제공할 C 함수이다. 인자를 받아서 수행하고 결과는 넘겨주는 단순한 함수의 모습이라고 보면 된다.
c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I/usr/include/python2.7 -fPIC hello.cpp -lboost_python -o hello.so
from distutils.core import setup, Extension
'''sudo python setup.py install --record uninstall.txt'''
print hello.greet(n)
double get_double() {return dl;}
double get_int() {return num;}
std::string greet() {return msg;}
.def("greet", &World::greet, "greeting")
.def_readonly("msg", &World::msg, "greeting message")
.def_readwrite("value", &World::dl, "double value")
print p.greet()
print p.greet()
- python_chat_program . . . . 38 matches
#title 보안을 고려한 파이션 채팅 프로그램 작성(Secured chatting program with python)
''David A. Wheeler''의 '''Secure Programming HOWTO'''[* ''David A. Wheeler'', '''Secure Programming HOWTO''', 2015.]란 책을 토대로 보안을 고려하여 채팅 프로그램의 설계부터 구현까지를 진행하도록 하겠다. 사용 언어는 Python을 사용하였으면 버전은 2.7을 사용하였다. Python이란 언어의 특성상 멀티 플랫폼을 지원하지만 편의상 Ubuntu 16.04 환경을 기준으로 설명하도록하겠다.
시스템의 환경변수와 시스템 명령어를 사용하기 위한 라이브러리로 '''os'''와 '''sys'''를 사용할 수 있다. 시스템 시간을 갖고 오기 위해 '''time''' 라이브러리를 사용했다. 서버는 여러 클라이언트의 요구에 응답해야 하기 때문에 멀티 쓰레드로 동작하여야 한다. 클라이언트도 채팅을 하면서 파일 교환을 하려면 멀티 쓰레드가 필요한다. 이를 위해서 '''threading''' 라이브러리를 사용했다. DB는 mysql이나 오라클을 사용 할 수 있지만 간단하게 사용할 수 있는 sqlite를 사용했다. 파이썬에서는 '''sqlite3''' 라이브러리를 제공하고 있다.
1. threading
create table user_name_table (
uid integer primary key autoincrement,
create table user_password_table (
create table user_nickname_table (
create table user_salt_table (
create table user_lastdate_table (
sqlite> create table name_table (
...> uid integer primary key autoincrement,
sqlite> create table passwd_table (
sqlite> insert into passwd_table (uid, passwd) select uid, "passwd" from name_table where name="wskim";
sqlite> insert into passwd_table (uid, passwd) select uid, "passwd_test" from name_table where name="test";
sqlite> select t2.name, t1.passwd from passwd_table t1 inner join name_table t2 on t1.uid = t2.uid where t2.name='test';
WHERE 검색조건
== Multi-thread ==
파이썬에서는 기본적으로 싱글 쓰레드를 사용하며 멀티 쓰레드를 사용하기 위해서는 '''threading''' 라이브러리를 사용해야 한다. [* K. Hong. "Multithreading - Creating Threads <http://www.bogotobogo.com/python/Multithread/python_multithreading_creating_threads.php> (21 Nov 2017)]
'''threading''' 라이브러리의 사용법은 간단하다.
- python_generator . . . . 10 matches
Traceback (most recent call last):
* 이터레이터 구현에서 __next__() 의 return 값은, 제너레이터 구현에서는 yield 값으로 대체됩니다.
* 제너레이터에서 return 문은 StopIteration 예외를 일으킵니다. 함수의 끝에 도달해도 마찬가지 입니다. 파이썬 3 에서는 return 문이 값을 포함할 수도 있지만, 오늘 다룰 범위를 벗어납니다.
재진입(Reentrancy) 문제도 이터레이터에서는 정의되어있지 않습니다. 가령 __next__() 메쏘드 내에서 직접적이던 간접적이던 next(self) 를 호출했을 때 어떤 일이 일어나야 할지 지정되어 있지 않다는 것입니다. 그러니 재귀적인 구현도 생각해볼 수 있습니다. 하지만 제너레이터에서는 재진입이 허락되지 않습니다.
Traceback (most recent call last):
ValueError: generator already executing
그런데 이 예에서 볼 수 있듯이 lambda 로 제너레이터를 만들어도 문제가 되지는 않습니다. 그런데 lambda 의 바디에는 문장(statement)이 아니라 표현식(expression) 이 온다는 것을 기억하십니까? yield 를 둘러싼 괄호가 yield 가 표현식임을 알려줍니다. 예 지금까지 저희는 yield 를 문장처럼 사용해 왔습니다만, 사실 yield 는 표현식입니다. 그러면 그 값은 뭘까요?
지금까지의 예 에서 yield 표현식(yield expression)의 값은 None 입니다.
print(repr(input))
Traceback (most recent call last):
- python_install_guide . . . . 4 matches
./configure --prefix=/usr/local/python/275
wget http://cython.org/release/Cython-0.17.4.tar.gz 을 받아서 설치 한다.
sudo python setup.py install --prefix=/usr/local/python/332/
- python_installation . . . . 13 matches
prefix는 Python설치 위치와 동일하게 하면 Python 아래 lib/python2.7/site-packages 아래로 설치 된다.
./configure --prefix=/opt/Python-2.7.9
wget http://cython.org/release/Cython-0.22.tar.gz
sudo python setup.py install --prefix=/opt/Python-2.7.9
sudo python setup.py install --prefix=/opt/Python-2.7.9
gfortran -O2 -std=legacy -fPIC -fno-second-underscore -c *.f
sudo python setup.py install --prefix=/opt/Python-2.7.9
sudo python setup.py install --prefix=/opt/Python-2.7.9
wget https://github.com/ipython/ipython/releases/download/rel-2.1.0/ipython-2.1.0.tar.gz
python setup.py install --prefix=/opt/Python-2.7.9
python setup.py install --record uninstall.txt
- python_iterator . . . . 8 matches
Traceback (most recent call last):
... break
... return self # 이터레이터인 경우는 자신을 돌려주면 됩니다.
... return v
Traceback (most recent call last):
... return Range(self.n)
... break
... break
- python_logging . . . . 11 matches
logging.error('And non-ASCII stuff, too, like Øresund and Malmö')
||asctime || %(asctime)s ||사람이 읽을 수 있는, LogRecord 가 생성된 시간. 기본적으로 ‘2003-07-08 16:49:45,896’ 형식입니다 (쉼표 뒤의 숫자는 밀리 초 부분입니다). ||
||created || %(created)f ||LogRecord 가 생성된 시간 (time.time() 이 반환하는 시간). ||
||msecs || %(msecs)d ||LogRecord 가 생성된 시간의 밀리 초 부분. ||
||relativeCreated || %(relativeCreated)d ||logging 모듈이 로드된 시간을 기준으로 LogRecord가 생성된 시간 (밀리 초). ||
||thread || %(thread)d ||스레드 ID (사용 가능한 경우). ||
||threadName || %(threadName)s ||스레드 이름 (사용 가능한 경우). ||
- python_module_pyaudio . . . . 26 matches
Description=Recode Auxchannel from microphone
Restart=always
● pyaudio.service - Recode Auxchannel from microphone
Loaded: loaded (/etc/systemd/system/pyaudio.service; enabled; preset: enabled)
Dec 02 02:42:52 audio python[1573]: Stream #0:0 -> #0:0 (pcm_s16le (native) -> mp3 (libmp3lame))
Dec 02 02:42:52 audio python[1573]: Press [q] to stop, [?] for help
Dec 02 02:42:52 audio python[1573]: Stream #0:0: Audio: mp3, 48000 Hz, mono, s16p, 32 kb/s
Dec 02 02:42:53 audio python[1573]: video:0kB audio:234kB subtitle:0kB other streams:0kB global headers:0k>
sudo systemctl daemon-reload
sudo systemctl restart pyaudio.service
RECORD_SECONDS = 60
def create_folder(year, month, day):
"""Create folder with year, month, day structure."""
return folder_path
def record_audio(stream, chunk, rate, record_seconds):
"""Record audio for a specified duration."""
for _ in range(0, int(rate / chunk * record_seconds)):
data = stream.read(chunk)
return frames
self.stream = self.p.open(format=FORMAT,
- python_object_oriented . . . . 5 matches
return '{}년 {}월 {}일생 {}입니다.'.format(self.year, self.month, self.day, self.sex)
return cls(year, month, day, sex)
return False
return True
http://www.slideshare.net/dahlmoon/20160131
- python_re . . . . 2 matches
= re module =
정규표현을 이요한 문자열 처리를 도와주는 re 모듈을 사용하는 방법에 대해서 알아보자.[* https://engineer-mole.tistory.com/189]
- pytorch_exeample_mnist_grad_cam . . . . 50 matches
from skimage.transform import resize
zero[rand1:rand1+12,rand2:rand2+12,:]=np.asarray(x).reshape(12,12,1)
return zero
transforms.Resize(12),
transforms.Resize(12),
def __init__(self,num_feature=32):
self.num_feature=num_feature
nn.Conv2d(1,self.num_feature,3,1,1),
nn.BatchNorm2d(self.num_feature),
nn.ReLU(),
nn.Conv2d(self.num_feature,self.num_feature*2,3,1,1),
nn.BatchNorm2d(self.num_feature*2),
nn.ReLU(),
nn.Conv2d(self.num_feature*2,self.num_feature*4,3,1,1),
nn.BatchNorm2d(self.num_feature*4),
nn.ReLU(),
nn.Conv2d(self.num_feature*4,self.num_feature*8,3,1,1),
nn.BatchNorm2d(self.num_feature*8),
nn.ReLU(),
nn.Linear(self.num_feature*8*7*7,1000),
- pytorch_tutorial . . . . 2 matches
torch.Tensor는 PyTorch의 기본 자료형이라고 볼 수 있다. Tensor 클래스는 .requires_grad 속성을 갖고 있는데 이 속성을 True로 설정하면 텐서의 모든 연산에 대해서 추적하게 된다. 계산 작업이 모두 수행 되면 .backward()를 호출하여 모든 gradient를 자동으로 계산할 수 있다. 계산된 gradent는 .grad 속성에 저장 된다.
- qt_programming_index . . . . 25 matches
== OSX에서 brew로 설치하기 ==
* Xcode를 최신 버전으로 설치한다. [* https://gist.github.com/sigmadream/45050b2efbbd64582487#osx%EC%97%90%EC%84%9C-brew%EC%99%80-%ED%95%A8%EA%BB%98%ED%95%98%EB%8A%94-qt5-%EC%84%A4%EC%B9%98]
* brew install qt5
* brew install Caskroom/cask/qt-creator
* 'Qt Creator' - 'Preferences' - 'Build & Run' - 'Qt Versions' - 'Add' - 'Macintosh HD' - 'Command + Shift + . (숨김파일 보여주는 단축키)' - '/usr/local/Cellar/qt5/bin/qmake'
* 'Preferences' - 'Kits' - 'Compiler' - 'Clang (x86 64bit)'
* 'Preferences' - 'Qt version' - '방금 우리가 만든 Qt Versions를 선택'
if (!file->open(QIODevice::ReadOnly)) //파일 오픈
str = file->readLine() //파일의 내용을 한 라인씩 읽음
== QTextStream 클래스를 이용한 방법 ==
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream stream(&file);
qDebug() << stream.readAll();
return;
QTextStream out(&file);
https://www.learnpyqt.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/
- quadtree_paper_reading . . . . 72 matches
= Grid DEM Construction Using Quadtrees =
Our work is motivated by the use of quadtrees for the segmentation of LIDAR data for a given geographic region.
LIDAR data is a 4-tuple consisting of an x−coordinate (East-West), a y−coordinate (North-South), a z−coordinate (elevation), and an intensity coordinate (strength of the returning signal).
For the purposes of our experiment, we ignore the intensity.
Our quadtree implementations then take the approach described in [2] in which we index data points in R3 based on their x−and y−coordinates.
This allows us to index points in 3-space without resorting to using an octree.
This serves as the primary motivation for parallelizing the construction of our quadtree implementation.
In their paper From Point Cloud to Grid DEM: A Scalable Approach Argarwal, Arge and Danner propose a three part, scalable, sequential algorithm for efficient construction of grid based digital elevation models (grid DEMs) on large, multi-gigabyte datasets [2].
They describe a three phase approach consisting of data segmentation using a quadtree, neighbor finding also using said quadtree and thirdly interpolation applying whatever method one sees fit.
The authors explain how large quadtrees that do not fit entirely into RAM must instead be built and processed in stages.
Agarwal et al. describe incremental and level-by-level construction of quadtrees and then adopt a hybrid approach.
In said approach, the authors build three levels of the quadtree at a time, with leaves containing lists of points.
The algorithm is then repeated on each of these lists until the number of points in a leaf is less than or equal to some threshold value.
Points that are too close to other points are discarded.
To find the neighbors of a leaf, the authors again describe an incremental approach where leaves that share a partial common edge or full edge of their bounding boxes are said to be adjacent.
This is accomplished by first selecting a leaf and then tier by tier seeing if its bounding box shares partial or full edges with the the bounding boxes of other segments.
If a segment is not a leaf, this process is repeated on its children until only leaf nodes are said to be adjacent to the leaf node in question.
The authors’ layered approach involves loading the top levels of the tree into memory and recursively processing the leaves using the incremental approach and some additional overhead.
The description of the data interpolation phase leaves something to be desired, but Agarwal et al. admit that there are multitude of data interpolation algorithms.
We observe that this is an essential part of the algorithm to parallelize because parallel constructed quadtrees are not only useful to the indexing and segmentation of LIDAR data but have been shown to serve many other purposes.
- raspberry_Yemigo . . . . 19 matches
$ sudo nano /boot/firmware/config.txt
arm_freq=2147
gpu_freq=700
$ reboot
$ wget https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-aarch64.sh
$ sudo service ntpsec restart
$ arecord -l
**** List of CAPTURE Hardware Devices ****
$ ./configure && make
$ conda create -n pyaudio python=3.9
RECORD_SECONDS = 60
stream = p.open(format=FORMAT,
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
humidity, temperature = dht.read_retry(dht.DHT22, 4)
temperature = "{0:5.2f}".format(temperature)
f"{now.astimezone().isoformat()} Humidity={humidity}% Temp={temperature}*C \t {str(delta)}\n"
- raspberry_pi_cluster . . . . 12 matches
== Network structure ==
sudo nano /boot/firmware/config.txt
arm_freq=2147
gpu_freq=700
3. reboot
zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=zstd dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait usbhid.mousepoll=0 fixrtc quiet splash
2. add user to video group. If you don’t do this you will get “VCHI initialization failed” error. Replace username below with the current user.
3. reboot
wget https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-aarch64.sh
addresses: [192.168.0.101/24]
addresses: [1.1.1.1,1.1.0.0]
wget https://github.com/WiringPi/WiringPi/releases/download/2.61-1/wiringpi-2.61-1-arm64.deb
- raspberry_pi_dht22 . . . . 77 matches
$ sudo service ntpsec restart
$ gpio readall
if (clock_gettime(CLOCK_REALTIME, &tspec) == -1)
clock_gettime(CLOCK_REALTIME, &tspec);
currentTime = Dates.now()
println(currentTime)
millisecond = Dates.Millisecond(currentTime).value
bus = I2C(0,scl=Pin(1),sda=Pin(0),freq=200000)
pressure=bmp.pressure
p_bar=pressure/100000
p_mmHg=pressure/133.3224
temperature=bmp.temperature
print("Temperature: {} C".format(temperature))
print("Pressure: {} Pa, {} bar, {} mmHg".format(pressure,p_bar,p_mmHg))
temperature = bmp280.get_temperature() - 1.0
pressure = bmp280.get_pressure()
write_data('{} Temp={:05.2f}*C Pressure={:05.2f}hPa Delta={} \n'.format(now.astimezone().isoformat(),temperature, pressure, str(delta)))
humidity, temperature = dht.read_retry(dht.DHT22, 4)
temperature = "{0:5.2f}".format(temperature)
f"{now.astimezone().isoformat()} Humidity={humidity}% Temp={temperature}*C \t {str(delta)}\n"
- raspberry_pi_mqtt . . . . 1 match
print("Bad connection Returned code=", rc)
self.mqttc.loop_forever()
- raspberry_pi_ntp_server . . . . 11 matches
gps 모듈은 uBlox NEO-M8로 알리[* https://ko.aliexpress.com/item/32955687002.html?spm=a2g0o.order_list.0.0.5699140fofR5Yk&gatewayAdapt=glo2kor]에서 구매하였다.
Linux raspberrypi 5.15.76-v8+ #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022 aarch64 GNU/Linux
설정이 끝나면 reboot을 통해서 설정을 반영합니다.
Would you like the serial port hardware to be enabled -> Yes.
###### below this line are custom config changes #######
refclock SHM 0 delay 0.325 refid NMEA
refclock PPS /dev/pps0 refid PPS
###### above this line are custom config changes #######
#log tracking measurements statistics
https://ozzmaker.com/using-python-with-a-gps-receiver-on-a-raspberry-pi/
- raspberry_pi_pyAudio . . . . 35 matches
= Recoder =
RECORD_SECONDS = 60
stream = p.open(format=FORMAT,
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
sudo apt-get remove libportaudio2
./configure && make
# Audio recording parameters
class MicrophoneStream(object):
"""Opens a recording stream as a generator yielding the audio chunks."""
# Create a thread-safe buffer of audio data
self._audio_stream = self._audio_interface.open(
# The API currently only supports 1-channel (mono) audio
# Run the audio stream asynchronously to fill the buffer object.
# overflow while the calling thread makes network requests, etc.
stream_callback=self._fill_buffer,
return self
self._audio_stream.stop_stream()
self._audio_stream.close()
# streaming_recognize method will not block the process termination.
- raspberry_pi_sensor . . . . 14 matches
gpio readall
humidity, temperature = dht.read_retry(dht.DHT22, 4)
yield (temperature, humidity)
temperature = bmp280.get_temperature()
pressure = bmp280.get_pressure()
yield (temperature, pressure)
- raspberry_sensor_installation . . . . 1 match
$ sudo service ntpsec restart
- raspberry_video_audio . . . . 89 matches
import threading
return datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + ".mp4"
RECORDING_DURATION = 60 # 1분
"-c:v", "libx264", "-preset", "ultrafast", "-c:a", "aac", output_filename
return subprocess.Popen(ffmpeg_cmd, stdin=subprocess.PIPE)
def record_audio(ffmpeg_process):
stream = audio.open(format=AUDIO_FORMAT, channels=AUDIO_CHANNELS,
global recording
while recording:
data = stream.read(AUDIO_CHUNK)
stream.stop_stream()
stream.close()
def record_video(ffmpeg_process):
cap = cv2.VideoCapture(0)
global recording
while recording:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('Recording', frame)
- raspberry_wireguard . . . . 19 matches
Wireguard를 사용해서 vpn 서버를 구축하자.
설치는 간단하게 ''' sudo apt install wireguard'''로 설치할 수 있다.
설정은 생각보다 조금 복잡할 수 있는데 간단하게 설정 파일을 생성해주는 사이트가 존재한다. [* https://upvpn.app/ko/wireguard-config-generator/]
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
설정 파일의 위치는 ''/etc/wireguard''에 위치하며 '''wg0.conf''' 파일을 수정해줘야 한다.
Address = 10.6.0.1/24
PresharedKey = xgMccsXSlSG1IebfpOH15HZBMx8o7/fVKCuOIA+uSig=
PresharedKey = JDmaDno6kU333HP6bBO9+vpAYpNaNOhlMjUyIcok4Vo=
Address = 10.6.0.3/24
PresharedKey = JDmaDno6kU333HP6bBO9+vpAYpNaNOhlMjUyIcok4Vo=
Address = 10.6.0.2/24
PresharedKey = xgMccsXSlSG1IebfpOH15HZBMx8o7/fVKCuOIA+uSig=
클라이언트도 서버와 같이 wireguard를 설치해서 수행한다. 설정 파일은 위에서 생성한 macbook.conf, nims.conf 파일을 wg0.conf로 /etc/wireguard에 저장해서 사용하면 된다.
- raspberrypi4 . . . . 43 matches
reboot
addresses: [192.168.0.100/24]
addresses: [1.1.1.1,1.1.0.0]
python을 사용하기 위한 conda 환경 구축을 위해서 miniforge3을 설치하는 방법 아키텍쳐는 aarch64를 선택해서 https://github.com/conda-forge/miniforge/releases 에서 받아서 설치하면 된다.
wget https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-aarch64.sh
maxretry = 3
$ sudo service fail2ban restart
#arm_freq=800
arm_freq=2000
= freenas =
https://admion.net/install-freenas/
reboot
sudo cp -r cockpit-zfs-manager/zfs /usr/share/cockpit
# Install zfs-auto-snapshot and change Retention from 24 to 48h and 12 to 3 Month for more sense of usage
# ask for deletion of existing data and create Mirror
--yes-button "PRESERVE DATA" \
--yesno "Would you like to preserve you existing ZFS data from a previous installation?" 10 75
response=$?
case $response in
0) echo "Your ZFS Data will be preserved";;
- rc_1 . . . . 26 matches
1.Colby Tucker _______ public relations head by the CEO and will assume his post when the present head is transferred to another branch.
3.The chef was devastated when a food critic who ate at the restaurant _______ reviewed a meal he had eaten.
(B) appreciably
1.The team was completely surprised to learn that the proposal recommended by the supervisor for funding was _______.
2.The construction of a new metro rail route along a popular thoroughfare will be finished no later _______ March 19.
3.Ever since the technology for smartphones and tablets became available, people check their messages and e-mails much more _______.
(D) frequently
1.The presenter _______ the profit scheme to the board of directors, which will confer final approval of the project and obtain capitalization.
2._______ regular and special meals will be served in-flight, but passengers must submit meal requests at least one week in advance.
3._______ students arrived to attend a free seminar on career management, but the organizers had to turn some of them away for lack of space.
1.The tour group questioned the museum guide _______ the artifacts on display and asked if souvenirs were on sale.
2.There were no more slots _______ for an elective course the student wanted to take, so she decided to postpone enrolling in the subject.
3.The diner had no idea what food to order at the pricey restaurant, so he requested the waiter to make _______.
(A) recommend
(B) recommending
(C) recommended
(D) recommendations
- recurrent_neural_network . . . . 11 matches
#title Recurrent Neural Network
* [http://aikorea.org/blog/rnn-tutorial-1/ AI Korea]
개인적으로 CNN은 FIR(Finite impulse response) filter 와 유사하고, RNN은 IIR(Infinite impulse response) filter와 유사하다는 생각을 했다.
= Recurrent Neural Network (RNN) =
이 글은 Team AI Korea의 Tutorial[* http://aikorea.org/blog/rnn-tutorial-1/]을 보고 본인이 이해한 바를 적어보려고 한다.
그렇기 때문에 LSTM이나 GRU등[* http://aikorea.org/blog/rnn-tutorial-4/]과 같은 수정된 버전의 RNN을 사용하고 있다.
파이썬을 이용해서 언어 모델을 만드는 예제[* http://aikorea.org/blog/rnn-tutorial-2/]를 진행해 보려고 한다.
또 하나는 주어진 문장에서 이후에 어떤 단어가 나올지 확률적으로 알기 때문에, 이를 기반으로 새로운 텍스트를 생성해낼 수도 있다는 것이다. 이런 '''생성 모델'''(Generative model)에 대해서는 Andrej Karpathy 블러그[* http://karpathy.github.io/2015/05/21/rnn-effectiveness/]를 참조하길 바란다.
- roc_curves . . . . 10 matches
이때 사용 할 수 있는 지표가 Receiver Operating Characteristic (ROC) curve analysis [[footnote(Metz, 1978; Zweig & Campbell, 1993)]]이다.
attachment:test.png?title='''[[br]]그림''' 1. ''Test Result''
'''Positive likelihood ratio''' : ratio between the probability of a positive test result given the presence of the disease and the probability of a positive test result given the absence of the disease, i.e.
'''Negative likelihood ratio''' : ratio between the probability of a negative test result given the presence of the disease and the probability of a negative test result given the absence of the disease, i.e.
'''Positive predictive value''': 참으로 판단되는 값들 중에서 실제 참값의 비율. = a / (a+c)
'''Negative predictive value''': 거딧으로 판단되는 값들 중에서 실제 거짓의 비율. = d / (b+d)
sorted_data = sorted(zip(f,d), reverse=False)
[:mAP mean Average Precision]
- rsync_cron_data_backup . . . . 13 matches
-r --recursive 하위 구조의 디렉토리 모두 재귀적으로 가져온다i.
-z --compress 압축하여 전송하기
socket_type = stream
log_on_failure += USERID
# sudo service xinetd restart
path=/repo
read only = yes
secrets file = /etc/rsyncd.secrets
# cat /etc/rsyncd.secrets
yundream:mypassword
1. 매월 1일 2시 5분에 git 서버의 repository를 home2에 백업
pgrep -f -x "$COMMAND" > /dev/null 2>&1 || $COMMAND
- rust_language . . . . 1 match
https://doc.rust-lang.org/1.7.0/book/README.html
* 전반적인 내용 [* https://rinthel.github.io/rust-lang-book-ko/foreword.html]
- sc12 . . . . 15 matches
Future Power Grid Initiative(FPGI)
* intergrate renewable generation
* Electrify transportation to reduce dependence on imported oil
* Accommodate chaging and reponsive loads
* opal-rt technologies / http://www.opal-rt.com/new-product/efpgasim-power-electronic-real-time-simulator
* Future Power Gird System / transmission grid
* Requirement of N-k contingency analysis
what is the theoretical peak performance? 이론적 flop/s (''benchmark를 통해서 얻은 결과가 아닌 이론적 수치'')
2.93 ghz 4core cpu가 한 클럭에 4개의 floating point 연산을 수행한다.
LINPACK is mathematical software
1974 / fortran 66 / BLAS-1 (vector operations) / imb 370/195 cdc 7600, univac 1110, dec pdp-10 / 1979 release
* consider axpy (y=a.x + y) : 2n flops on 3n read/writes
High performance Linpack? / arbitrary / hand, code repleacement / parallel processing
* LAPACK relies on BLAS
PLASMA(00`s) New algorithms (many-core friendly)
- sgg_review . . . . 5 matches
2013년에 '''Jan Harms'''에 의해서 LIGO 관측기에서 관측할 수 있는 낮은 주파수에 대한 중력파 연구 논문[* ''Jan Harms et al'', '''Low-frequency terrestrial gravitational-wave detectors''', PHYSICAL REVIEW D 88, 122003 (2013),http://www.astro.umd.edu/~miller/reprints/harms13.pdf ]이 발표 되었고 이를 새로운 관측 플렛폼으로 조금 더 잘 관측할 수 있는 방법을 '''백호정''' 교수님께서 연구하셨고 그에 대한 논문[* ''Ho Jung Paik et al'', '''Low-frequency terrestrial tensor gravitational-wave detector''', Class. Quantum Grav. 33 075003 (2016), http://iopscience.iop.org/article/10.1088/0264-9381/33/7/075003/pdf]이 2016년에 발표 되었다.
- singularity . . . . 1 match
git clone https://github.com/singularityware/singularity.git
- slack_api_chatbot . . . . 8 matches
* Your Apps 메뉴로 가서 Create New App을 클릭합니다.
* 앱 이름과 개발할 워크스페이스를 선택하고 Create App을 클릭합니다.
response = client.chat_postMessage(channel=channel_id, text=message)
print(f"Message sent to {channel_id}: {response['message']['text']}")
print(f"Error sending message: {e.response['error']}")
response = client.files_upload(
print(f"File uploaded to {channel_id}: {response['file']['title']}")
print(f"Error uploading file: {e.response['error']}")
- snucl_install_work . . . . 3 matches
설치 파일은 서울대 snucl 사이트[[footnote(http://aces.snu.ac.kr/Center_for_Manycore_Programming/SnuCL.html)]]에 정보를 남기면 메일[[footnote(http://aces.snu.ac.kr/download.php?p=snucl&ver=1.2b&email=o1185@naver.com)]]로 온다.
LDFLAGS += -lsnucl -ldl -lpthread -lOpenCL
1. Snucl 설치 메뉴얼, http://aces.snu.ac.kr/Center_for_Manycore_Programming/SnuCL_files/SnuCL_Manual.pdf
- software_raid_mdadm . . . . 3 matches
# mdadm --create /dev/md0 --level=0 --raid-device=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
* create: 새로운 raid array 만들기
[* onlab. <https://www.onlab.kr/2014/10/27/mdadm-linux-software-raid-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/> (27 Oct 2014).]
- ssh_config . . . . 3 matches
HostName grid.nims.re.kr
HostName grid.nims.re.kr
HostName radon.nims.re.kr
- stock_study . . . . 4 matches
코스닥(KOSDAQ, KOrea Securities Dealers Automated Quotation)
코넥스(KONEX, KOrea New EXchange)
코스피(KOSPI, Korea Composite Stock Price Index
''2020.07.08, 박기태'', '''CNT도전재 시장, 2025년 2.2조로 성장 나노신소재, 수혜''' [* http://www.pressm.kr/news/articleView.html?idxno=31201]
- svm . . . . 1 match
[https://ocw.mit.edu/courses/mechanical-engineering/2-854-introduction-to-manufacturing-systems-fall-2010/lecture-notes/MIT2_854F10_kkt_ex.pdf kkt example]
- svn_opencl_skel . . . . 18 matches
int ret;
return -1;
source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
return -1;
cl->program = clCreateProgramWithSource(cl->context, 1, (const char **)&source_str,(const size_t *)&source_size, &ret);
if ( ret != CL_SUCCESS)
return ret;
ret = clBuildProgram(cl->program, cl->ret_num_devices, cl->device_id, build_opts, NULL, NULL);
if ( ret != CL_SUCCESS)
return ret;
free(source_str);
return CL_SUCCESS;
== release_opencl() ==
free(log);
- svn_sunken . . . . 4 matches
svn co svn://143.248.156.63/repos/camtron_sunken
sunken서버로 오면서, make release를 실행할때,
nfs: server 192.168.xx.xx not responding, still trying 발생시 해결 방법
nfs: server 192.168.1.15 not responding, still trying
- tcl_tk_install . . . . 7 matches
http://www.tcl.tk/software/tcltk/download.html
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
- teamspeak_kgwg . . . . 2 matches
server address: yangjs.inje.ac.kr
server address: 157.82.231.190
- temp . . . . 155 matches
models that were previously used in the kernel. It is intended to augment the
and operations into globally accessible data structures.
Traditional driver models implemented some sort of tree-like structure
(sometimes just a list) for the devices they control. There wasn't any
uniformity across the different bus types.
The current driver model provides a common, uniform data model for describing
The common device and bridge interface reflects the goals of the modern
Microsoft (namely ACPI) ensures that almost every device on almost any bus
Downstream Access
data structure. These fields must still be accessed by the bus layers,
Other bus layers are encouraged to do what has been done for the PCI layer.
to make people think about what they're doing when switching between the bus
driver and the global driver; and to prevent against mindless casts between
The PCI bus layer freely accesses the fields of struct device. It knows about
the structure of struct pci_dev, and it should know the structure of struct
device. Individual PCI device drivers that have been converted the the current
unless there is a strong compelling reason to do so.
This abstraction is prevention of unnecessary pain during transitional phases.
If the name of the field changes or is removed, then every downstream driver
will break. On the other hand, if only the bus layer (and not the device
- ternsorflow_with_tersorRT . . . . 13 matches
https://github.com/bazelbuild/bazel/releases
wget https://github.com/bazelbuild/bazel/releases/download/0.28.0/bazel-0.28.0-installer-linux-x86_64.sh
`sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb`
`sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
1. https://developer.nvidia.com/nvidia-tensorrt-5x-download 에서 해당 리눅스 버전과 CUDA 버전을 확인해서 repo package를 받는다.
nv-tensorrt-repo-ubuntu1x04-cudax.x-trt5.1.x.x-ga-yyyymmdd_1-1_amd64.deb
$ sudo apt-key add /var/nv-tensorrt-repo-cudax.x-trt5.1.x.x-ga-yyyymmdd/7fa2af80.pub
pip install -U --user six numpy wheel setuptools mock future>=0.17.1
pip install -U --user keras_preprocessing==1.0.5 --no-deps
sudo python3 -m pip uninstall pip && sudo apt-get install python3-pip --reinstall
'''종속성은 setup.py 파일의 REQUIRED_PACKAGES 아래에 표시됩니다.'''
./configure
$ export TEST_TMPDIR=/path/to/directory
bazel --output_base=/tmp/build build --config=opt --config=cuda --config=v2 //tensorflow/tools/pip_package:build_pip_package --verbose_failures
- test . . . . 10 matches
Address = 10.6.0.2/24
PresharedKey = xgMccsXSlSG1IebfpOH15HZBMx8o7/fVKCuOIA+uSig=
Address = 10.6.0.3/24
PresharedKey = JDmaDno6kU333HP6bBO9+vpAYpNaNOhlMjUyIcok4Vo=
float Xref;
[[FreeMind]]
[[HTML(<embed src="//www.youtube.com/v/FhDZxNL5Zck?showinfo=0&fs=0&rel=0&theme=light" type="application/x-shockwave-flash" width="560" height="315" allowScriptAccess="always" allowFullScreen="true"></embed>)]]
- test2 . . . . 173 matches
return 0;
(1) C Preprocessing
C Preprocessing은 C 언어 배울 때 배운 #include, #define, #ifdef 등 #으로 시작하는 여러 가지를 처리해 주는 과정이다. 그 다음 C 언어 컴파일은 C Preprocessing이 끝난 C 소스 코드를 assembly 소스코드로 변환하는 과정이다. Assemble은 그것을 다시 object 코드(기계어)로 변환하고 printf()함수가 포함되어 있는 라이브러리와 linking을 하여 실행파일이 되는 것이다.
C Preprocessing을 전담하고 있는 실행파일은 cpp라고 하여 /usr/bin 디렉토리와 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.95.12 디렉토리(당연히 gcc버전과 시스템에 따라 디렉토리 위치가 다르다. gcc -v로 확인하길 바란다.)에 존재한다. C 언어 컴파일은 cc1이라는 실행파일이 담당하는데 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.95.12 디렉토리에 존재한다. Assemble과 linking은 각각 as와 ld라는 실행파일이 담당하고 /usr/bin 디렉토리에 존재하는 파일이다. (참고 : 시스템에 따라 /usr/bin이 아니라 /bin또는 /usr/local/bin 디렉토리에 존재할 수도 있다.)
= C Preprocessing(cpp) =
C preprocessing을 우리말로 하면 "C 언어 전처리"라고 할 수 있을 것이다. 모든 C 언어 문법책에서 정도의 차이는 있지만 C preprocessing에 대한 내용을 다루고 있다. C preprocessing에 대한 문법은 C 언어 문법의 한 부분으로 가장 기본이 되는 부분이다. C preprocessing에 관한 문법은 모두 '#'으로 시작된다. '#' 앞에는 어떠한 문자(공백 문자 포함)도 오면 안된다. 하지만 대부분의 compiler가 '#'앞에 공백 문자가 오는 경우에도 처리를 한다.
== C preprocessing이 하는 일 ==
cpp 는 C 언어 소스코드를 입력 받아서 C preprocessing에 관련된 문법 사항을 적절히 처리하고 결과로 C 언어 소스코드를 출력하는 프로그램이다. 입력은 작성된 C 언어 소스 코드이고, 출력으로 나온 C 언어 소스 코드에는 C preprocessing 문법에 관련된 어떠한 것도 남아있지 않는다. 즉, #define, #include 등을 찾을 수 없다. 남아 있는 정보가 있다면 file 이름과 줄수(line number)에 관한 정보이다. 그 이유는 추후의 컴파일 과정에서 에러가 날 때 그 정보를 이용해서 error를 리포팅할 수 있도록 하기 위해서이다. 그렇다면 C preprocessing을 직접 해보자.
-E 옵션은 gcc의 컴파일 과정 중에서 C preprocessing까지만 처리하고 나머지 단계는 처리하지 말라는 것을 지시하는 것이다. 평소에는 별로 쓸모가 있는 옵션이 아니지만 다음과 같은 경우에 유용하게(?) 사용할 수 있다.
(2) preprocessing의 문제가 C 언어 에러로 나타날 경우. 다음과 같은 소스코드를 고려해 보자.
return max(a, b);
cpperr.c:4: parse error before `;'
cpperr.c파일의 4번째 줄에서 ';'가 나오기 전에 parse error가 났다. 하지만 실제 에러는 #define에 있었으므로 그것을 확인하려면 -E 옵션으로 preprocessing을 하여 살펴 보면 쉽게 알 수 있다.
(*) 참고 : parse error before x(어떤 문자) 에러는 소스코드를 parsing 할 때 발생한 에러를 말한다. parsing이란 syntax analysis(구문해석) 과정인데 쉽게 말하면 C 언어 소스코드를 읽어들여 문법적 구성요소들을 분석하는 과정이라고 할 수 있다. 보통 gcc에서 parse error라고 하면 괄호가 맞지 않았거나 아니면 ';'를 빼먹거나 했을 때 발생한다. 보통의 경우 before x라고하여 x라는 것이 나오기 전에 parse error가 발생하였음을 알려주기 때문에 그 x가 나오기 전에 있는 C 소스 코드를 잘 살펴보면 문제를 해결할 수 있다.
C preprocessing의 문법과 나머지 C 언어의 문법과는 거의 관계가 없다. 관계가 있는 부분이 있다면 정의된 macro가 C 언어의 문법 상의 char string literal에는 치환되지 않는다는 정도이다. (좀 더 쉽게 이야기 하면 큰 따옴표 안에서는 macro 치환이 되지 않는다.) 또한 c preprocessing은 architecture dependent하지 않다. 즉, i386용으로 컴파일된 cpp를 다른 architecture에서 사용해도 무방하다. 조금 문제가 있을 수 있는 부분이 있다면 gcc의 predefined macro(i386의 경우 i386용 자동으로 define된다.)가 다를 수 있다는 점 뿐이다. 따라서 cpp를 C 언어 소스코드가 아닌 다른 부분에서 사용하는 경우도 있다. 대표적으로 assembly 소스 코드에서도 사용한다. assembler가 사용하고 있는 macro 문법이 c preprocessing의 macro문법 보다는 배우기 쉽기 때문이다.
이제 preprocessing이 하는 일에 대해서 좀더 알아 보자.
>>소스코드파일명:line number: 헤더파일명: No such file or directory
'xxxx' redefined
#line, #error, #pragma라는 것이 있는지도 모르는 사람들이 꽤 있것이다. 자세한 것은 C 언어 문법 책을 찾아보길 바란다. #line의 경우 C 언어 소스코드 직접 쓰이는 경우는 거의 없으니까 무시하고 #pragma는 compiler에 dependent하고 gcc에서 어떤 #pragma를 사용하는지도 알 수 없으므로 그냥 넘어가도록 한다. #error의 경우 C preprocessing 과정에서 강제로 에러를 만드는 지시어이다. 선택적 컴파일 과정에서 도저히 선택되어서는 안 되는 부분에 간혹 쓰인다. 당연히 #error를 만나면 에러가 생긴다. linux kernel 소스코드에서 include 디렉토리를 뒤져 보시면 사용하는 예를 만날 수 있다.
== predefined macro ==
- transmission_daemon . . . . 8 matches
* "watch-dir": "/home/pi/Torrent/magnet_box", //이 폴더에 .torrent 파일이 있으면 자동으로 다운로드 됨.
* "trash-original-torrent-files": true, // 토렌트 파일 자동으로 제거
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
$ sudo systemctl daemon-reload
- upsample_index . . . . 2 matches
[:upsampling_implementaion Direct Upsample 구현관련 코드]
[:TM_upsampling_implementaion Direct Upsample 기술 문서]
- upsampling_implementaion . . . . 49 matches
각기 다른 배율의 Resample을 동시에 수행할 수 있는 스트리밍 방식의 Upsampler를 설계하도록 하자.
= Resampler 관련 Source Code =
if (sincsize % 2 == 1) return -1;
return 0;
return 0;
== init_resampler_cl() ==
int init_resampler_cl(float *sinc, int _sincsize, int _src_size)
int ret;
ret = init_opencl(&cl, 0);
sincmobj = clCreateBuffer(cl.context, CL_MEM_READ_ONLY, sincsize * 7 * sizeof(float), NULL, &ret);
srcmobj = clCreateBuffer(cl.context, CL_MEM_READ_ONLY, (src_size+sincsize) * 7 * sizeof(float), NULL, &ret);
desmobj = clCreateBuffer(cl.context, CL_MEM_WRITE_ONLY, src_size * 7 * sizeof(float), NULL, &ret);
ret = clEnqueueWriteBuffer(cl.command_queue[0], sincmobj, CL_FALSE, 0, sincsize * 7 * sizeof(float), sinc, 0, NULL, NULL);
ret = init_coreProgramBinary(&cl, "kernel.aocx", build_opts);
if ( ret != CL_SUCCESS)
kernel = clCreateKernel(cl.program, "sincfunction", &ret);
ret = clSetKernelArg(kernel, 0, sizeof(cl_mem), (void *)&sincmobj);
ret = clSetKernelArg(kernel, 1, sizeof(cl_mem), (void *)&srcmobj);
ret = clSetKernelArg(kernel, 2, sizeof(cl_mem), (void *)&desmobj);
return 0;
- upsampling_sinc . . . . 9 matches
Sinc function (Rectangular function)을 이용한 Upsampling 방법
= Rectangular Function of Fourier Transform =
unsigned int ChunkSize; // This is the size of the rest of the chunk following this number
// - streo : [left][right]
// - quad : [front left][front right][rear left][reat right]
unsigned int ChunkSize; // 16 for PCM. This is the size of the rest of the Subchunk which follows this number.
unsigned short NumChannels; // Mono = 1, Stereo = 2, etc.
fread(&header, sizeof(WAVE_HEADER), 1, fin);
fread(input_frame+1024,sizeof(short),1024,fin);
fread(input_frame+1024*2,sizeof(short),1024,fin);
- usb_driver . . . . 37 matches
- USB Driver는 크게 3가지 드라이버가 있습니다.USB Client Driver, USB Core, Host Controller Driver. 이 세가지로 구분 됩니다. 하지만 실제적으로 우리가 구현하게 되는 부분은 USB Client Driver 이며 나머지 두가지의 경우는 OS 레벨에서 재공되는것이 보통입니다. 윈도우 뿐만아니라 Linux에서도 지원이 되고 있습니다.
Control Transfer : 작은 data를 전송하기 위해서 사용되며, USB device를 configure하기위해서 사용되며 적어도 최소한의 control command를 가집니다. 주로 USB device를 Enumeration 할때나 또는 USB Controller에 Command를 보낼때 사용됩니다.
Bulk Transfer : Data를 packet의 형태로 reliable하게 전송하기 위해서 사용됩니다.. 전체 Bandwidth를 차지할 수도 있습니다.
Interrupt Transfer : 주기적으로 polling된다. 한번 주어지면, Host Controller는 주기적으로 자동적으로 request를 하게됩니다.
Isochronous Transfer : 일정한 속도로 일정량의 data를 전송하기를 원하는 경우에 사용한다. 이러한 것으로 Stream이 있으며, reliable한 전송을 보장하지는 않습니다. 주로 Audio나 Video의 data를 전송하는 경우 유용합니다. 우리가 사용하는 웹캠도 이러한 종류의 Data Flow를 사용합니다.
Interface descriptor : 하나의 configuration내의 특정 interface를 말하며, 0이나 혹은 여러 개의 endpoint를 가질 수 있습니다. 물론 이러한 endpoint들은 하나의 configuration내에서 고유한 set을 이룹니다. Interface는 또한 alternate setting을 가질 수 있으며, 이것은 endpoint를 변화시키거나 endpoint의 특성을 device가 configure된 후에 변화시키기 위해서 사용될 수 있습니다. Interface에 대한 default setting은 항상 alternate setting 0입니다. Alternate setting은 set_interface control command로 배타적으로 select될 수 있고 이러한 예로서는 multi-functional device를 들 수 있습니다.
Endpoint descriptor : host가 각각의 endpoint의 bandwidth requirements를 결정하기 위해서 필요합니다. 간단히 이야기 해서 endpoint라는 것은 USB device에 있어서는 data의 논리적인 source가 되거나 sink가 된다고 할 수 있습니다. 다른 말로 표현하자면 pipe라고도합니다. 가장 기본적으로 Endpoint 0는 항상 모든 control transfer에 사용되며, descriptor가 존재하지 않습니다.
..more
- Linux 커널모듈은 일정한 구조를 가지고 개발 되어집니다. 이러한 구조를 통해서Insmod ,rmmod util로 모듈을 Load하고Release할수 있게 됩니다.그런 간단한 Linux module을 만들어 보도록하죠 .
return 0;
위에서 볼수 있듯 module_init , module_exit 메크로에 Function만 지정해주면 간단한 Linux 모듈이 완성됩니다. hello_init은 insmod 로 모듈을 Load할때 호출되어지며 hello_exit는 rmmod로 모듈을 Relase해줄때 호출되어집니다.
error = usb_register(&usb_usb_driver);
return error;;
usb_deregister(&usb_usb_driver);
probe는 Device가 연결되었을때 Device를 초기화 해주고 통신을 할수있도록 하부 드라이버에 알려주는 역할을 합니다. disconnect는 probe에 생성된 객체들을 release 해주고 Device가 disconnect 되었다는것을 알려줍니다.
/* remove the URB, remove the input device, free memory */
usb_release_dev();
/* version 2.2.18 has USB support but the probe prototype is different */
if (udev->descriptor.idVendor != USB_VENDOR_ID_GUNZE) return NULL;
if (udev->descriptor.idProduct != USB_PRODUCT_ID_AHL61) return NULL;
- vae_gan . . . . 3 matches
Variational Inference를 활용한 연구중 가장 최근의 연구라면 VAE를 꼽을 수 있다. VAE는 2013년 Kingma et al.[* Diederik P. Kingma and Max Welling. '''Auto-encoding variational bayes'''.CoRR, abs/1312.6114, 2013.]과 Rezende et al.[* Danilo Jimenez Rezende, Shakir Mohamed, and Daan Wierstra. '''Stochastic backpropagation and approximate inference in deep generative models'''. In Proceedings of the 31st International Conference on Machine Learning - Volume 32, ICML’14, pages II–1278–II–1286.JMLR.org, 2014.]에 의해 정의 되었습니다. Variational Autoencoder를 이해하기 위해서는 간단한 Autoencoder의 구조부터 이해해야 합니다.
- variational_autoencoder . . . . 23 matches
* 작성자: 김환선(iou78@nims.re.kr)
Variational Inference를 활용한 딥러닝 연구중에 가장 대표적인 연구라면 VAE를 꼽을 수 있다. VAE는 2013년 Kingma et al.과 Rezende et al.[* Diederik P. Kingma, Max Welling. "Auto-Encoding Variational Bayes", <https://arxiv.org/pdf/1312.6114.pdf>. (1 May 2014)]에 의해 정의되었다.
attachment:Variational_inference/encoder-decoder.png?width=500px&align=center
encoder는 입력으로 data x가 들어가고 출력으로 '''잠재된 차원'''(hidden representation) z가 나온다. 이 네트워크는 고차원의 문제를 낮은 차원으로 효율적으로 압축하는 것을 배워야하기 때문에 Encoder를 \(q_{\theta}(z|x)\)로 표현하자. --encoder는 Gaussian probability density인 \(q_{\theta}(z|x)\)에 파라미터를 아웃풋으로 내보낸다.-- encoder의 출력은 Latent vector의 확률분포의 파라미터를 내어준다. 가정에 의해서 Latent vector의 확률분포는 가우시안 확률분포를 따른다고 했기 때문에 가우시안 확률분포의 파라미터인 \(\mu, \sigma\)를 출력으로 내어준다. 이 확률 분포로 부터 z를 얻을 수 있다.
decoder는 입력으로 z를, 출력으로 데이터 확률분포의 파라미터 값('''가우시안 분포의 (\(\mu, \sigma\))''')을 내어준다. Decoder는 \(p_{\phi}(x|z)\)로 표현 된다. 예로 손으로 쓴 숫자를 판독하는 일이라고 하면 784개의 픽셀이 흑백이고 각각의 픽셀이 0, 1로 이루워져있다면 Bernoulli distribution으로 표현할 수 있다. 즉 출력값으로는 각 픽셀에 해당하는 Bernoulli distribution 확률분포의 파라미터들이 된다. 낮은 차원에서 높은 차원으로 가기 때문에 정보의 손실이 발생한다. 얼마나 손실이 발생하는가? reconstrunction log-likelihood \(\log p_{\phi}(x|z)\)를 사용하여 측정한다. (''z 입력으로 x 아웃이 나올 확률이 높았으면 한다. 즉, f(z)의 결과가 x이길 바라는 것으로 \(||x - f(z)||^2\)MSE로 계산 된다.'')
VAE의 loss function은 regularizer가 표함된 negative log-likelihood이다. 모든 datapoint가 공유하는 전역 변수가 없으므로 우리는 loss function을 하나의 datapoint \(l_i\)에만 의존적이도록 나눌 수 있다. 총 loss는 총 N개의 datapoint의 loss의 합이 된다.
뒷 부분은 regularizer이다. 이 것은 encoder의 분포 \(q_{\theta}(z|x)\)와 \(p(z)\) 사이의 kullback-leibler divergence이다. q를 사용하여 p를 표현할 때 얼마나 정보가 유실 되는지를 측정한다. q가 p에 얼마나 가까운지 측정하는 방법이다.
VAE에서 p는 평균 0, 분산 1을 갖는 표준정규분포를 갖는다. encoder가 표준정규분포와 다른 z를 갖는다면 loss값에서 손해(penalty)를 본다. 이 regularizer는 z의 각 숫자를 충분히 다양하도록 만들라는 뜻이다. regularizer가 없다면 encoder는 각 datapoint에 대해 유클리드 공간상의 다른 영역을 나태내도록 편법을 사용할 수도 있다. 예로 똑같은 숫자를 나타내는 이미지(두 명이 쓴 숫자 2, \(2_{alice}, 2_{bob}\)가 각각 다른 값 \(z_{alice}\), 와 \(z_{bob}\)을 가질 수 있기 때문이다. z값이 의미 있길 원하기 때문에 이런 행동을 제한한다. 이를 통해 비슷한 숫자의 표현을 가깝게 유지할 수 있다.
attachment:Variational_inference/model.png?width=200px&align=center&title''VAE 의 그래프 모델. 숨겨진 변수 z 는 표준정규분포이며 data 는 \(P(X|Z)\) 에서 추출된다. 그림자 진 노드 X 는 관찰된 data 를 의미한다. 손글씨 숫자 이미지에 대해서 이 data likelihood 는 Bernoulli distribution 을 따른다.''
이제 이 모델에서의 inference에 대해 생각해 볼 수 있다. 목표는 관찰된 데이터로부터 숨겨진 변수를 잘 추론(infer)하는 것이다. 곧, posterior \(p(z|x)\)를 계산하는 것과 일치한다. bayers에 따르면:
Variational inference가 \(q_{\lambda}(z|x)\) 계열의 분포를 근사할 수 있다. Variational parameter \(\lambda\)는 분포 계열을 구별할 수 있게 한다. 예를 들어, q가 Gaussian이라면, 각 datapoint \(x_i\)에 대한 숨겨진 변수의 평균과 분산이 된다. \(\lambda_{x_i = (\mu_{x_i}, \sigma^2_{x_i})}\)
variational inference를 위해서 아래의 조건이 필요하다.
Jensen’s inequality 에 의해, Kullback-Leibler divergence 는 항상 0 보다 크거나 같다. 이는 곧 Kullback-Leibler divergence 를 최소화하는 것이 ELBO 를 최대화하는 것과 동치임을 말한다. 요약하자면 Evidence Lower Bound (ELBO) 가 posterior inference 근사를 가능하게 한다. 우리는 더이상 Kullback-Leibler divergence 를 최소화하기 위해 시간을 쓸 필요가 없다. 대신, 우리는 ELBO 를 최대화하므로써 계산 가능한 동치의 일을 수행한다.
&= \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) - \log q_{\phi}(z^{(l)}|x) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
&= -D_{KL}(q_{\phi}(z|x)||p_{\theta}(z)) + \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
z = \mu_q + \sigma_q \cdot \epsilon\ \ \text{where}\ \ \epsilon \sim \mathtt{N}(0,1)
평균, 기댓값이라고 하면 보통은 어떤 값(변수)에 대한 기댓값만을 생각하는데 함수에 대한 기댓값도 계산할 수 있다.[* Kiho Hong (5 Apr 2017). <https://www.slideshare.net/lovelykihohong/variational-inference-intro-korean-ver>. (16 Jan 2018)]
* 머신러닝에서 loss function[* Kaka (4 Apr 2017). "Cross-entropy/softmax 정리".<https://kakalabblog.wordpress.com/2017/04/04/cross-entropy-%EC%A0%95%EB%A6%AC/>. (23 Jan 2018)] 으로 사용.
= Reference =
- vi_for_gravitational_wave_note . . . . 4 matches
#title Variational Inference 계산 노트
&= \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) - \log q_{\phi}(z^{(l)}|x) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
&= -D_{KL}(q_{\phi}(z|x)||p_{\theta}(z)) + \frac{1}{L} \sum^{L}_{l=1} \left( \log p_{\theta}(x,z^{(l)}) \right) \ \ \text{where}\ \ z^{(l)} \sim q_{\phi}(z|x)
At the MCMC, stochastic Markov chain current statues is,
- vi_for_gravitational_wave_parameter_estimation . . . . 20 matches
* DanielGeorge, E.A.Huert, '''Deep Learning for real-time gravitational wave detection and parameter estimation: Results with Advanced LIGO data''', https://www.sciencedirect.com/science/article/pii/S0370269317310390
* Andrea Maselli et al., '''Parameter estimation of gravitational wave echoes from exotic compact objects''', https://arxiv.org/abs/1708.02217
* Christopher J. Moore et al. '''Improving gravitational-wave parameter estimation using Gaussian process regression''', http://inspirehep.net/record/1393228?ln=en
* Eric Thrane, Colm Talbot, '''An introduction to Bayesian inference in gravitational-wave astronomy: parameter estimation, model selection, and hierarchical models''', https://arxiv.org/abs/1809.02293
== Variational Inference ==
1. Kingma et al., '''Markov Chain Monte Carlo and Variational Inference: Bridging the Gap''', http://proceedings.mlr.press/v37/salimans15.pdf
* Justin Grimmer, '''An Introduction to Bayesian Inference Via Variational Approximations''', https://web.stanford.edu/~jgrimmer/VariationPAR.pdf
* Justin Domke, '''A Divergence Bound for Hybrids of MCMC and Variational Inference and an Application to Langevin Dynamics and SGVI''', https://people.cs.umass.edu/~domke/papers/2017icml.pdf
* Anirudh Jain et al., '''Variational Inference as an alternative to MCMC for parameter estimation and model selection''', https://arxiv.org/pdf/1803.06473.pdf
https://justindomke.wordpress.com/2017/11/16/a-divergence-bound-for-hybrids-of-mcmc-and-variational-inference-and/
https://alexioannides.com/2018/11/07/bayesian-regression-in-pymc3-using-mcmc-variational-inference/
- visual_studio_code . . . . 17 matches
"request": "launch",
"preLaunchTask": "build",
"preLaunchTask": "clang++ build active file"
설정에서 신경써야 할 부분은 컴파일 program과 preLanuchTack 정도로 보인다. debug를 실행할 바이너리 파일의 위치와 파일명이 일치하도록 설정해줘야 하고 컴파일 옵션에 -g 옵션이 들어간 task를 연결해줘야한다.
When authoring tasks configurations, it is often useful to have a set of predefined common variables. VS Code supports variable substitution inside strings in the tasks.json file and has the following predefined variables:
* ${file} the current opened file
* ${relativeFile} the current opened file relative to the workspace * folder containing the file
* ${fileBasename} the current opened file's basename
* ${fileBasenameNoExtension} the current opened file's basename without the extension
* ${fileDirname} the current opened file's dirname
* ${fileExtname} the current opened file's extension
* ${cwd} the task runner's current working directory on startup
* ${lineNumber} the current selected line number in the active file
- wave_file_header_format . . . . 11 matches
- mono 라면 1 이고, stereo 라면 2가 됩니다.
|| 2 ||stereo ||{{{[left][right][left][right]...}}} ||
|| 4 ||quad ||{{{[front left][front right][rear left][rear right]...}}} ||
- mono 면 'sample 크기 x 1' 이고, stereo 면 'sample 크기 x 2' 가 되겠습니다.
unsigned int ChunkSize; // This is the size of the rest of the chunk following this number
// - streo : [left][right]
// - quad : [front left][front right][rear left][reat right]
unsigned int ChunkSize; // 16 for PCM. This is the size of the rest of the Subchunk which follows this number.
unsigned short NumChannels; // Mono = 1, Stereo = 2, etc.
- wikibackup . . . . 6 matches
아마존 웹 서비스는 free tier를 제공하여 1년 동안 웹 서비스를 사용할 수 있도록 하고 있다. 1년이 지나면 어찌 할까? free tier로 사용하던 것을 유료 전환하게 되면 한달에 약 1만원 정도의 비용이 발생하게 된다. 개인적 목적으로 사용하기 위해서 한달에 만원의 비용을 지불하는 것이 사정에 따라서 달라지겠지만 1년에 약 12만원 정도의 비용이 발생하니 만만치 않은 비용이다.
그렇기 때문에 최소의 노력으로 새로운 계정으로 넘어가서 새로이 free tier서비스를 사용하는 방법을 알아보자.
c-free@hanmail.com // wskim****
https://my.freenom.com/ 에서 기존의 ip 주소를 새롭게 오픈한 인스턴스의 ip 주소로 바꿔 주기만 하면 끝.
Expires on 2028-06-18
- windows_driver_development_env . . . . 10 matches
Windows Shared Source programs
( http://www.microsoft.com/resources/sharedsource/Licensing/default.mspx )
Microsoft 에서는 윈도우 소스코드를 공유하는 “ Windows Shared Source programs ” 제도를 운영하고 있다 . 이 프로그램에 참여방법은 여러 가지 방법이 있는데, 그 중에 Microsoft MVP 자격으로 참여해 볼 수 있는 형태가 있다. 관심 있는 분들은 MVP 에 도전해 보길 바란다.
• C/C++ 언어 : 많이 질문하시는 내용 중에 “ 디바이스 드라이버는 어떤 언어로 개발하나요 ? ” 가 있다 . 윈도우 디바이스 드라이버 개발 시에는 C/C++ 언어 정도를 이해한다면 개발하는데 무리는 없다 . 그리고 , 가끔 디버깅 (Debugging) 이나 리버스 엔지니어링 (Reverse Engineering) 이 필요한 경우에 어셈블리 언어 (Assembly) 의 지식이 필요하다. 그렇다고 어셈블리 언어를 완벽한 이해해야 하는것은 아니다. 대신 남의 코드를 디버깅하는 경우 소스 코드가 어셈블리 코드로 보여 내용을 보고 분석할 줄 알아야 하는데 이때 간단히 코드를 보고 이해할 수 있을 정도의 지식이면 된다.
Recommended Driver Model
Depends on device class : KMDF or device-class-specific model such as AVStream
Bluetooth Radio Frequency Communication (RFCOMM)
Secure digital (SD)
Video capture
AVStream
Recommended Driver Model
AVStream, PortCls
- windows_git_usage . . . . 2 matches
attachment:git_bash_here.png
= 최초 프로젝트 remote 저장소에 올리기 =
- wireshark . . . . 1 match
http://www.wireshark.org/download.html
- work2010_list . . . . 1 match
== [:20101105_ipnc IPNC Release 관련 업무] ==
1. 캠트론에 보낼 firmware를 만듬.
1. 센서로 부터 들어온 영상 처리 (Front-end & Resizer)
- work2011_list . . . . 1 match
freeimage 라이브러리 설치
- work2012_09_list . . . . 9 matches
* 10:30AM - 11:00AM Exhibitor Forum Interconnect and Advanced Architectures I PCI Express as a Data Center Fabric Ajoy Aswadhati
* 4:00PM - 4:30PM Paper, Best Paper (BP) Finalist Auto-Diagnosis of Correctness and Performance Issues MPI Runtime Error Detection with MUST - Advances in Deadlock Detection Tobias Hilbrich, Joachim Protze, Martin Schulz, Bronis R. de Supinski, Matthias S. Mueller
* 10:30AM - 5:00PM HPC Educator An Educator's Toolbox for CUDA An Educator's Toolbox for CUDA Karen L. Karavanic, David Bunde, Barry Wilkinson, Jens Mache 255-D
== '''FPGA FFT double precision''' 코드 추가 ==
double precision 데이터를 처리하기 위한 작업 추가
Monday 8:30AM - 5:00PM ''Tutorial'' [http://sc12.supercomputing.org/schedule/event_detail.php?evid=tut116 Linear Algebra Libraries for High-Performance Computing: Scientific Computing with Multicore and Accelerators]
상섭의 요청으로 single precision Twiddle vector를 생성하는 프로그램을 작성한다.
test.c 파일을 생성하고 double real image 형식의 txt 파일을 읽어 single로 출력 하도록
- work2013_04_list . . . . 15 matches
// Thread index
int thread_x = get_local_id(0);
int thread_y = get_local_id(1);
printf("group (%d, %d) local (%d, %d)\t", block_x, block_y, thread_x, thread_y);
A_local[thread_y][thread_x] = A[a + A_width * thread_y + thread_x];
B_local[thread_x][thread_y] = B[b + B_width * thread_y + thread_x];
running_sum += A_local[thread_y][k] * B_local[thread_x][k];
- work2013_10_list . . . . 9 matches
이함수의 Return 값이
alias grp='find . -print0 | xargs -0 grep'
[/usr/lib/haansoft/Common7]$ readelf -a libHncBL70.so >/tmp/b
다른함수들 보니깐 다 함수위에 ret도 있고....
return 1;
$ gcc -shared -W1,-soname,libmysutff.so.1 -o libmysum.so.1.0.1 te.o
그리고 저도 오늘 readelf 명령어 처음알았답니다 ㅋㅋ
$ readelf -a libmysum.so.1.0.1
빨간줄로된게 return 1; 부분입니다..
000003C5 C3 ret
- work2013_12_list . . . . 4 matches
1. [http://software.intel.com/forums/topic/496095 Question about the Intel HD graphics memory usage]
1. [http://software.intel.com/forums/topic/496095 Question about the Intel HD graphics memory usage]
1. [http://software.intel.com/forums/topic/496095 Question about the Intel HD graphics memory usage]
1.[:cpp_warning_tip warning: deprecated conversion from string constant to 'char*'' duplicate]
- work2014_01_list . . . . 5 matches
1. [http://escape.nims.re.kr/moni/wiki.php/haechi_iternative_solver 개발자 페이지 작성 with 츄]
1.[:cpp_warning_tip warning: deprecated conversion from string constant to 'char*'' duplicate]
1.[:cpp_warning_tip warning: deprecated conversion from string constant to 'char*'' duplicate]
1. [http://escape.nims.re.kr/moni/wiki.php/haechi_iternative_solver 개발자 페이지 작성 with 츄]
1.[:cpp_warning_tip warning: deprecated conversion from string constant to 'char*'' duplicate]
- work2014_03_list . . . . 2 matches
1. [http://escape.nims.re.kr/moni/wiki.php/haechi_inenative_solver_schedule CG 개발 하기]
1. [http://escape.nims.re.kr/moni/wiki.php/haechi_inenative_solver_schedule CG 개발 하기]
- work2014_06_list . . . . 2 matches
[:resampler_renew Resampler 통합버전]
- work2014_07_list . . . . 1 match
[:pci_interface_review PCI 인터페이스 리뷰]
- work2015_02_list . . . . 1 match
*. 작업 디렉토리 변경 git remote 설정. (~/work/ann/openann)
1. --OpenCL 최적화 scss2014 Review--
- work2015_03_list . . . . 3 matches
*. 작업 디렉토리 변경 git remote 설정. (~/work/ann/openann)
1. --OpenCL 최적화 scss2014 Review--
*.-- 작업 디렉토리 변경 git remote 설정. (~/work/ann/openann)--
1. --OpenCL 최적화 scss2014 Review--
1. [:aux_paper_review Aux Paper Review]
- work2015_08_list . . . . 2 matches
미팅 장소 : [https://www.google.co.kr/maps/dir/K9+Residence,+Budapest,+K%C3%A1roly+k%C3%B6r%C3%BAt,+Magyarorsz%C3%A1g/''/@47.497125,19.050888,16z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x4741dc42225f15a1:0x5821d2ba10ae544a!2m2!1d19.0580681!2d47.4964655!1m5!1m1!1s0x0:0x40a9da3d7bb17384!2m2!1d19.052305!2d47.497362!3e2 Kempinski Hotel Corvinus]
숙소 정보 : [:https://secure.booking.com/myreservations.ko.html?aid=304142;sid=7daff1f888f27fab1ff8edcee3d52a7f;dcid=2;bn=778060655;do=self_change1;pincode=8781 K9 레지던스]
- work2015_11_list . . . . 3 matches
*최신 Deep Learning 논문들이 ICLR(International Conference on Learning Representations)에서 발표 되고 있다.
* AI Korea 라는 블러그에 Deep Learning에 대한 글이 Rapidly Update 되고 있다.
- work2015_12_list . . . . 1 match
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- work2016_012_list . . . . 4 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
* [:paper_review_index 논문 리뷰]
= To Read list =
- work2016_01_list . . . . 9 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
attachment:result.png?width=400px'''[[br]]그림''' 1: ''250 input vactor roc curve''
* attachment:2016_research_plan.hwp
* 250개 feature 데이터 중에서 어느것이 분류 성능에 영향을 주는지 확인 하는 작업을 시작 한다.
* https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS_corrected_1.4.16.pdf
* http://www.cplusplus.com/reference/random/normal_distribution/
* http://www.ligo.org/conferences/lv0316/ (3월 14일 ~ 3월 18일)
- work2016_02_list . . . . 2 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
* http://www.ligo.org/conferences/lv0316/ (3월 14일 ~ 3월 18일)
- work2016_03_list . . . . 2 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
* http://www.ligo.org/conferences/lv0316/ (3월 14일 ~ 3월 18일)
- work2016_04_list . . . . 1 match
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- work2016_05_list . . . . 1 match
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- work2016_06_list . . . . 1 match
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
* To Read list
- work2016_07_list . . . . 3 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
= To Read list =
- work2016_08_list . . . . 3 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
= To Read list =
- work2016_09_list . . . . 4 matches
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
* [:paper_review_index 논문 리뷰]
= To Read list =
- work2017_02_list . . . . 6 matches
* [:GAN_review GAN Python 구현하기]
* [:python_object_oriented Python 강좌 정리 ] [* 참고 자료 - http://www.slideshare.net/dahlmoon/20160131]
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
* [:paper_review_index 논문 리뷰]
= To Read list =
- work2017_03_list . . . . 8 matches
* [:GAN_review GAN Python 구현하기]
* [:GAN_iclr_2017 GAN reverse algorithm review]
* [:python_object_oriented Python 강좌 정리 ] [* 참고 자료 - http://www.slideshare.net/dahlmoon/20160131]
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
* [:paper_review_index 논문 리뷰]
= To Read list =
- work2018_02_list . . . . 8 matches
* [:GAN_review GAN Python 구현하기]
* [:GAN_iclr_2017 GAN reverse algorithm review]
* [:python_object_oriented Python 강좌 정리 ] [* 참고 자료 - http://www.slideshare.net/dahlmoon/20160131]
* Cross Entropy 와 Mean Square root Loss Function Class로 만들어서 분리하기.
- [https://gwpy.github.io/docs/stable/timeseries/gwf.html GWpy Module to read a TimeSeries from GWF files]
- http://aikorea.org/blog/rnn-tutorial-3/ RNN
* [:paper_review_index 논문 리뷰]
= To Read list =
- work2019_12_list . . . . 2 matches
* HDR 알고리즘의 내부 파라메터에 CARLA(Continuous action reinforcement learning automata) 적용 논문[* 남동균 et al. "저가형 자이로 센서의 드리프트 감소 방안에 대한 고찰", Proceedings of KIIS Conference 2010 Vol. 20, No. 1.] 리뷰
= To Read list =
- work2020_01_list . . . . 72 matches
* Grad-CAM++ 리뷰[* Grad-CAM++: Improved Visual Explanations for Deep Convolutional Networks <https://arxiv.org/pdf/1710.11063.pdf>][* Grad-CAM++: Generalized Gradient-based Visual Explanations for Deep Convolutional Networks <https://www.researchgate.net/publication/320727679_Grad-CAM_Generalized_Gradient-based_Visual_Explanations_for_Deep_Convolutional_Networks>]
* LRP 논문 리뷰 [* <http://whansunkim.ml/w2/wiki.php/layer_wise_relevance_propatation> Layer-wise relevance propagation] (5일)
git clone https://github.com/singularityware/singularity.git
{{{: thanks for you detailed explaination, it dispersed my previous confusion.
however, i do not think it is a 'problem' of numpy, but rather a design decision. accordingly to numpy's own test/demo code(here), the macro import_array and import_ufunc are meant to be used directly in the top-level module function, that is, initxxx or PyInit_xxx, not to be wrapped in another function, for example, boost::numpy::initialize/wrap_import_array in our scenario. with python2, initxxx requires no return value, so the macro import_array returns nothing in the if branch, with python3, PyInit_xxx requires a return type of PyObject*, so import_array returns NULL, pretty reasonable.
as a user of the numpy api, i think we should respect its design decision. so it is a issue of boost.python itself.
btw, before the fix, building boost.python with clang always issues a warning complaining 'not all path return a type' in wrap_import_array, so i think we should treat compiler warnings more seriously. after all, boost.python is part of THE Boost library, right?}}}[* <https://github.com/boostorg/python/issues/214>]
// https://github.com/numpy/numpy/blob/v1.14.5/numpy/core/code_generators/generate_numpy_api.py#L130
#define NUMPY_IMPORT_ARRAY_RETVAL NULL
#define NUMPY_IMPORT_ARRAY_RETVAL
#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
default: The compressed Singularity read only image format (default)
sandbox: This is a read-write container within a directory structure
be used to create a Singularity container. Several different local target
def file : This is a recipe for building a container (examples below)
directory: A directory structure containing a (ch)root file system
Targets can also be remote and defined by a URI of the following formats:
docker:// a Docker registry (default Docker Hub)
shub:// a Singularity registry (default Singularity Hub)
oras:// a supporting OCI registry
- work2020_02_list . . . . 8 matches
* [attachment:work2020_01_list/rainbow.pdf Rainbow presentation]
print("Gen RAM Free:" + humanize.naturalsize( psutil.virtual_memory().available), "I Proc size:" + humanize.naturalsize(process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
Gen RAM Free:62.5 GB I Proc size:107.5 MB
GPU RAM Free: 10877MB | Used: 1159MB | Util 10% | Total 12036MB
Gen RAM Free:62.5 GB I Proc size:107.5 MB
GPU RAM Free: 12036MB | Used: 0MB | Util 0% | Total 12036MB
- work2020_03_list . . . . 9 matches
* [attachment:work2020_01_list/rainbow.pdf Rainbow presentation]
print("Gen RAM Free:" + humanize.naturalsize( psutil.virtual_memory().available), "I Proc size:" + humanize.naturalsize(process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
Gen RAM Free:62.5 GB I Proc size:107.5 MB
GPU RAM Free: 10877MB | Used: 1159MB | Util 10% | Total 12036MB
Gen RAM Free:62.5 GB I Proc size:107.5 MB
GPU RAM Free: 12036MB | Used: 0MB | Util 0% | Total 12036MB
https://m.blog.naver.com/PostView.nhn?blogId=atelierjpro&logNo=220981354861&proxyReferer=https%3A%2F%2Fwww.google.com%2F
- work2020_04_list . . . . 8 matches
* file의 info structure 를 읽어서 time 객체를 얻어 오는 코드 만들기
https://greenew.co.kr/brush-font-download/
* https://m.blog.naver.com/PostView.nhn?blogId=atelierjpro&logNo=220981354861&proxyReferer=https%3A%2F%2Fwww.google.com%2F
* https://horizon.kias.re.kr/13664/?fbclid=IwAR1qoUc1Y1pGHyXEB3kKEF5R4JF9smkFYeEkxIyvolgAYzqaVsF0Dql_KU0 수학으로 설명하는 기하학
# https://www.youtube.com/watch?v=fOCxgrR95ew&feature=youtu.be&fbclid=IwAR3htAkVyJiftzaosV9haob3T3e6osW3wvalUU6ggXB4UdTjgGL1KMK_8Zc
* https://m.blog.naver.com/PostView.nhn?blogId=rkdwnsdud555&logNo=221155705904&proxyReferer=https%3A%2F%2Fwww.google.com%2F DTW
* https://openreview.net/pdf?id=Sks3zF9eg sine activation function
* https://hulk89.github.io/machine%20learning/2017/11/20/reparametrization-trick/
- work2020_05_list . . . . 8 matches
* --refinement function 구현(1일, 월)--
* --refinement에 대한 구조 반영 (2일, 화, 수)--
* --file의 info structure 를 읽어서 time 객체를 얻어 오는 코드 만들기--
- AMR refinement function coding ||
- Refined grid를 사용해서 dt 구간 업데이트 시도 실패 ||
|| 금 ||- AMR refinement grid 비대칭 문제 해결 ||- AMR 회의 with 김진호 박사 at NIMS ||
= Read it =
* https://heartbeat.fritz.ai/5-regression-loss-functions-all-machine-learners-should-know-4fb140e9d4b0
* https://kangbk0120.github.io/articles/2018-01/inception-googlenet-review
- work2020_06_list . . . . 11 matches
* --file의 info structure 를 읽어서 time 객체를 얻어 오는 코드 만들기--
|| 월 ||- 진행중인 프로젝트 정리[* http://gitlab.nims.re.kr:8081/whansun.kim/eeg_autoencoder] [[br]] - AMR flux 업데이트 코드 정리[* https://gitlab.com/jinhokim0919/amr] [[br]] - 인턴 자리 배정 및 컴퓨터 세팅 ||- AMR 클래스 다이어 그램 및 개념도 작성 [[br]]- 기획연구 회의 (15:30~17:00) ||
|| 수 ||- Refinement 경계에서 발생하는 문제 수정 및 README.me 파일 추가 ||- 월간보고 미팅(13:00 ~ ) ||
|| 월 ||- AMR 연구노트 정리 ||- AMR predictor & corrector code 개발 ||
|| 화 ||- AMR predictor & corrector 1차 구현 완료 [[br]]- 노사협의회 회의 (11:00~12:00) ||- AMR bug 확인[[br]]- Algorithmic Properties of the Midpoint Predictor-Corrector Time Integrator [* http://www.cs.sandia.gov/ALEGRA/Publications/midpoint_windows.pdf]문서 리뷰[[br]]- 김진호 박사 미팅(15:30~)||
|| 금 ||<colspan=2>- AMR code review 회의 with 김진호 ||
= Read it =
* https://www.overleaf.com/learn/latex/LaTeX_Graphics_using_TikZ:_A_Tutorial_for_Beginners_(Part_3)—Creating_Flowcharts
* alfred
- work2020_07_list . . . . 5 matches
* --file의 info structure 를 읽어서 time 객체를 얻어 오는 코드 만들기--
|| 금 ||<colspan=2>- AMR code review 회의@한국천문연구원 with 김진호[[br]]- ghost cell update bug fix ||
|| 월 ||- Object-Oriented Implementation of Adaptive Mesh Refinement Algotirhms 논문 읽기 ||- hp 프린터 반납 처리 및 신규 프린터 대여 협조전 발송 ||
|| 화 ||- Object-Oriented Implementation of Adaptive Mesh Refinement Algotirhms 논문 읽기 큰 소득 없이 종료 ||- ETAS CRAN Package[* https://www.jstatsoft.org/article/view/v088c01] 조사[[br]]- Hawkes process study ||
|| 화 ||- Unsupervised automatic seizure detection for focal-onset seizures recorded with behind-the-ear EEG using an anomaly-detecting generative adversarial network 논문 읽기[[br]]; DCGAN에 정상 구간을 학습 시키고 정상 구간에서 벗어난 것을 찾고자 했다. anomaly-detection 알고리즘이 더 있을텐데 왜 DCGAN을 사용했을까?[[br]]- Hawkes process 조사[* https://whansun.iptime.org/wiki.php/hawkes_process] ||- ETAS CRAN Package[* https://www.jstatsoft.org/article/view/v088c01] 조사[[br]]- Hawkes process study ||
- work2020_08_list . . . . 3 matches
* --file의 info structure 를 읽어서 time 객체를 얻어 오는 코드 만들기--
|| 금 ||<colspan=2>- SOGRO 논문회의 참석[[br]]- AMR code review 회의@한국천문연구원 with 김진호 ||
|| 월 ||- AMR code review ||- 부서 신규 과제 회의 ||
- work2020_09_list . . . . 12 matches
* --Refinement 과정 - Grid 클래스와 Level 클래스 연동하기--
* 초기 refinement 과정 작업 진행중. 아직 predictor & corrector 과정 코딩 진입 전
* 형상관리를 위한 git repository 생성
* MHP 관련 git 생성 http://gitlab.nims.re.kr:8081/whansun.kim/eeg_MVHP.git
|| 화 ||- MNI 데이터 처리 루팅 클래스로 구현[[br]]- getphi로 ripple 데이터 네트워크 분석||- AMR Grid 클래스 주도의 refinement 구조 설계[[br]]- ldg-ui 로부터 글리치 데이터 titanv에 복사||
|| 수 ||- DetChar+MLA 주간회의(10시) [[br]]- 기존 AMR 코드 리뷰||- AMR Grid 단위에서 refinement 구현 ||
|| 목 ||- AMR 초기값 설정 방법 변경 사용자는 초기값 혹은 함수를 전달할 수 있도록 변경 ||- 뇌파 미팅[[br]]- mni, sll mvhp 결과 구하기 & gephi로 네트워크 그리기 연구노트 작성[* https://kgwg.nims.re.kr/resnote/MVHP_Network][[br]]- AMR 초기화 루팅 코드 작업 ||
|| 목 ||- mvhp 결과 정리[* https://kgwg.nims.re.kr/resnote/MVHP_Network] ||- 기획 회의 (13:00)[[br]]- 뇌파 회의 mvhp 내용 발표[[br]]- KWGW 텔레콘 ||
G = nx.generators.directed.random_k_out_graph(10, 3, 0.5)
- work2020_10_list . . . . 18 matches
* --Refinement 과정 - Grid 클래스와 Level 클래스 연동하기--
* 초기 refinement 과정 작업 진행중. 아직 predictor & corrector 과정 코딩 진입 전
* 형상관리를 위한 git repository 생성
* MHP 관련 git 생성 http://gitlab.nims.re.kr:8081/whansun.kim/eeg_MVHP.git
|| 화 ||- 센서 위치 기반 Networkx 그래프 결과 resnote wiki에 정리 ||- AMR, Grid 분할시 마지막 고스트셀이 생성 되지 않는 문제 발견 ||
|| 월 ||- 주간보고 작성[[br]]- Fully and robust unsupervised detection of epileptic seizure from long-term EEG recordings 논문 리뷰||- 기획 획의[[br]]- 주간 보고 회의[[br]]- [:lasso_regression LASSO 회귀분석] ||
|| 화 ||<colspan=2>- AMR predictor-corrector 알고리즘 구현 ||
|| 월 ||- 주간보고 작성[[br]]- Fully and robust unsupervised detection of epileptic seizure from long-term EEG recordings 논문 리뷰||- 기획 획의[[br]]- 주간 보고 회의[[br]]- [:lasso_regression LASSO 회귀분석] ||
|| 화 ||<colspan=2>- AMR predictor-corrector 알고리즘 구현 ||
* ''Alex Reinhart'', '''A Review of Self-Exciting Spatio-Temporal Point Processes and Their Applications''', Febrary 20th, 2018, [https://arxiv.org/pdf/1708.02647.pdf]
- work2020_11_list . . . . 5 matches
* --Refinement 과정 - Grid 클래스와 Level 클래스 연동하기--
* --초기 refinement 과정 작업 진행중. 아직 predictor & corrector 과정 코딩 진입 전--
* 형상관리를 위한 git repository 생성
* MHP 관련 git 생성 http://gitlab.nims.re.kr:8081/whansun.kim/eeg_MVHP.git, 형상 관리가 잘 되고 있지 않음.
* ''Alex Reinhart'', '''A Review of Self-Exciting Spatio-Temporal Point Processes and Their Applications''', Febrary 20th, 2018, [https://arxiv.org/pdf/1708.02647.pdf]
- work_blas_library . . . . 2 matches
* 프로젝트 repository는 git으로 관리함.
* git clone git@210.119.60.156:/repo/blas
- work_lighttpd_install . . . . 13 matches
CC=arm_v5t_le-gcc RANLIB=arm_v5t_le-ranlib STRIP=arm_v5t_le-strip LD=arm_v5t_le-ld ./configure --host=arm-linux-gnueabi --disable-static --enable-shared --without-zlib --without-bzip2
= PCRE =
http://www.pcre.org/
* '''configure: error: bzip2-headers and/or libs where not found, install them or build with without-bzip2'''
* '''configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre'''
sudo apt-get install libpcre3 libpcre3-dev
http://www.redmine.org/boards/2/topics/28826
sudo /etc/init.d/lighttpd restart
- work_mmpc_u_boot . . . . 3 matches
return 1;
return 1;
return 0;
- work_mmpc_update . . . . 5 matches
#title Firmware Update 시스템
카메라 Firmware 업데이트를 원격으로 제어하기 위한 시스템 구축
= Firmware Update 시스템 =
원격 Remote에서 각각의 카메라에 Firmware 업데이트를 지시하면 카메라들은 TFTP Server로 부터 새로운 Firmware를 받아서 업데이트를 실행한다.
- work_snmp_install . . . . 26 matches
1. configure 설정
CC=arm_v5t_le-gcc RANLIB=arm_v5t_le-ranlib STRIP=arm_v5t_le-strip LD=arm_v5t_le-ld ./configure --host=arm-linux --target=arm-linux -with-cc=arm_v5t_le-gcc --with-ar=arm_v5t_le-ar --with-endianness=big --enable-mini-agent --disable-embedded-perl --disable-shared --prefix=/opt/ipnc/snmp
prefix는 설치 될 위치를 정의 하는 것이다. 장치를 기준으로 해야 한다. 설치 위치를 기준으로 동작하기 때문에 경로를 잘 못 입력하게 되면 포팅하고 엉뚱한 곳을 참조 할 수 있다. 호스트에 설치하고 타겟으로 복사하는 방법으로 포팅하길 바란다.
1. ./configure
이렇게 설치하고 나면 /usr/local/share/snmp/mibs/ 드렉토리가 생긴다. 이 곳에 mib가 들어 있다.
enterprises, IpAddress
ACCESS read-write
agent/mibgroup 폴더에 넣고 아래와 같이 configure를 수행하면 자동으로 Makefile을 업데이트 해준다.
./configure --with-mib-modules="vs"
# 모드(각 community에 대한 접근 모드로 READ-ONLY나 READ-WRITE 중 한 값을
# (local and mynetwork, depending on where the request is coming
com2sec private <IP_ADDRESS> pcharley
com2sec readonly <NETWORK>/24 public
# 맵핑을 하고, sec.name readonly는 읽기 권한을 가지게 될 MyROGroup으로
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
# Third, create a view for us to let the groups have rights to:
# incl/excl subtree mask
# Finally, grant the 2 groups access to the 1 view with different
- working_resampler . . . . 14 matches
#title Resampler 공식 및 구현
* Sampling rate: \( f_S = 2 f_N \equiv \pi^{-1} \omega_N \), where \( f_N \) is the Nyquist frequency.
&= f_S \int_{-\infty}^{\infty} dt'\ x(t')\ \mathrm{sinc} [ \pi f_S (t'-t) ], \ \text{where} \ \mathrm{sinc}(x) = \frac{\sin x}{x} \\
=== Resampling ===
* LPF with $f_r$, where $f_r$ is the Nyquist frequency for the new sampling rate $f_R$ ( $f_R = 2 f_r \equiv \pi^{-1}\omega_r$ ):
* Resampling (C-to-D):
if (sincsize % 2 == 1) return -1;
return 0;
const int resolution = 128;
const int sincsize = 64*resolution; //64 waves, 128 resolution
gap = sincsize * times / resolution;
sinc_function(sinc, sincsize, resolution); //Sinc Function Gen
tmp += data[work*times + j] * sinc[j*resolution/times];
return 0;
- ws_discovery . . . . 7 matches
NVC 는 장치 검색을 통해 사용 가능한 NVT 를 검색합니다. NVT (''Network Video Transmitter'') 는 WS-Discovery 의 Target Service 역할에 해당하고, NVC (''Network Video Client'') 는 WS-Discovery 의 Client 역할에 해당합니다. 장치 검색에서는 Ws-Discovery 의 DP (Discover Proxy) 를 확장하여 보다 복합한 네트워크 상황도 처리할 수 있습니다. WS-Discovery 와는 달리 NVC/NVT 는 DP 역할은 하지 않습니다. endpoint reference 에 URN:UUID 를 사용합니다.
* Discoverable – 기본 모드로 일반적인 Target Service 처럼 동작합니다. 네트워크에 참여하거나 메타 데이터 변경 시 메시지를 보내며, Probe 와 Resolve 메시지를 Listen 하고, 그에 대한 응답을 보냅니다.
* Resolve : Client 가 이름으로 Target Service 를 찾을 때 사용한다.
* Resolve Match : Resolve 메시지에 대한 Target Service 의 응답
||<tablewidth="750px"> '''Prefix''' || '''XML Namespace''' || '''Specification'''(s) ||
|| a ||http://schemas.xmlsoap.org/ws/2004/08/addressing || [WS-Addressing] ||
• IPv4 multicast address: 239.255.255.250
• IPv6 multicast address: FF02::C (link-local scope)
- wskim . . . . 1 match
[:wskim-recipe]
- wskim-recipe . . . . 2 matches
= [:wskim_recipe_꼬리찜 꼬리찜] =
= [:wskim_recipe_soy_sauce 맛간장 만들기] =
- wskim_recipe_꼬리찜 . . . . 1 match
http://blog.naver.com/5joung1?Redirect=Log&logNo=100133584844
- wskim_trainning_eat . . . . 1 match
[http://bbs.moneta.co.kr/nbbs/bbs.normal.qry.screen?p_bbs_id=N10603&p_message_id=12382091 참조 사이트 1]
- wskim_경력 . . . . 9 matches
Software 기반 WiMAX 단말기 솔루션 개발 프로젝트
MAC layer & Physical layer 모두를 software로 구현하는 과제
본 과제의 목표는 기존 WiMAX나 통신 프로토콜이 SoC로 개발 되고 있는 것에 반해 RF를 제외한 모든 기능 블럭을 Software로 개발함으로 유지보수와 확장이 용이한 솔루션을 제공하는 것을 과제의 목표로 합니다.
개발 과정은 UML을 도입하여 RA(Require Analysis), SA(System Architecture), SD(System Development) 3단계로 이루워지는 개발 절차를 거쳐 개발 되었습니다.
* '''RA 단계'''는 요구사항을 분석하는 단계로 IEEE 802.16e( WiMAC 표준) 표준을 분석하여 개발 scope를 결정하고 System Feature를 정의 하는 단계 입니다.
* '''SA 단계'''는 RA 과정에서 결정된 System Feature와 요구 사항을 만족하기 위한 시스템을 설계하는 단계 입니다. 설계 단계에서는 Target Platform과 OS를 결정하고 전체 시스템의 뼈대와 외형을 결정하게 됩니다. 이 과정에서 많은 것들이 결정 되게 되는데 앞으로 진행할 SD 과정에서 혐업을 위한 coding scheme과 버전 관리 방법등을 결정하게 됩니다.
Hardware 검증 및 각 모듈 기동의 위한 드라이버
* OSD(On Screen Display)에 메뉴와 회사 로그 출력
- wskim_그남자작곡그여자작사 . . . . 11 matches
I've been hiding all my hopes and dreams away
I've been watching but the stars refuse to shine
I know that it's out there
There's gotta be something for my soul somewhere
I could use some direction
I guess I'm hoping you'll be there for me in the end
There are moments when I don't know if it's real
You know that I'll be there for you in the end
- wskim_업적 . . . . 18 matches
[http://www.ieee802.org/16/relay/contrib/C80216j-07_101r3.pdf Dedicated Resource Assignment for RS IEEE C802.16j-07/101r3]
1. Nah-Oak Song; Whan-Sun Kim, 2007, “Dedicated Resource Assignment for RS”, IEEE C802.16j-07/101r3
1. GW170817: Measurements of neutron star radii and equation of state
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"A Search for Tensor, Vector, and Scalar Polarizations in the Stochastic Gravitational-Wave Background"__, '''Phys.Rev.Lett.''' 120 (2018) no.20, 201102 [arXiv:1802.10194 [gr-qc] ]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"Full band all-sky search for periodic gravitational waves in the O1 LIGO data"__, '''Phys. Rev. D''' 97, 102003 (2018)[ arXiv:1802.05241 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"Constraints on cosmic strings using data from the first Advanced LIGO observing run"__, '''Phys. Rev. D''' 97, 102002 (2018)[ arXiv:1712.01168[gr-qc]]
1. ''Abbott, B. P. et al. (KAGRA Collaboration, LIGO Scientific Collaboration and Virgo Collaboration)'', __"Prospects for observing and localizing gravitational-wave transients with Advanced LIGO, Advanced Virgo and KAGRA"__, '''Living reviews in Relativity''', 21:3
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"GW170817: Implications for the Stochastic Gravitational-Wave Background from Compact Binary Coalescences"__, '''Phys.Rev.Lett.''' 120 (2018) no.9, 091101 [arXiv:1710.05837 [gr-qc] ]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __“All-sky search for short gravitation-wave bursts in the first Advanced LIGO run”__, '''Phys. Rev. D''' 95, 042003 (2017)[arXiv:1611.02972 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __“Directional limits on persistent gravitational waves from Advanced LIGO’s first observing run”__, '''Phys. Rev. Lett.''' 118, 121102 (2017)[arXiv:1612.02030 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __“Effects of waveform model systematics on the interpretation of GW150914"__, '''Class.Quant.Grav'''. 34 (2017) no.10, 104002 [arXiv:1611.07531 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __“Upper Limits on the Stochastic Gravitational-Wave Background from Advanced LIGO’s First Observing Run"__, '''Phys.Rev.Lett.''' 118 (2017) no.12, 121101 [arXiv:1612.02029 [gr-qc] ]
1. ''A. Albert et al. ANTARES and IceCube and LIGO Scientific and Virgo Collaborations'', __"Search for High-energy Neutrinos from Gravitational Wave Event GW151226 and Candidate LVT151012 with ANTARES and IceCube"__, '''Phys.Rev. D96 (2017)''' no.2, 022005 [arXiv:1703.06298 [astro-ph.HE] ]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"Search for gravitational waves from Scorpius X-1 in the first Advanced LIGO observing run with a hidden Markov model"__, '''Phys.Rev. D95 (2017)''' no.12, 122003 [ arXiv:1704.03719 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"Search for intermediate mass black hole binaries in the first observing run of Advanced LIGO"__, '''Phys.Rev. D96 (2017)''' no.2, 022001 [ arXiv:1704.04628 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"GW170104: Observation of a 50-Solar-Mass Binary Black Hole Coalescence at Redshift 0.2"__, '''Phys.Rev.Lett. 118 (2017)''' no.22, 221101 [ arXiv:1706.01812 [gr-qc] ]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"Upper Limits on Gravitational Waves from Scorpius X-1 from a Model-Based Cross-Correlation Search in Advanced LIGO Data"__, '''Astrophys.J. 847 (2017) no.1, 47''' [arXiv:1706.03119 [astro-ph.HE]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"All-sky Search for Periodic Gravitational Waves in the O1 LIGO Data"__, '''Phys.Rev. D96 (2017) no.6, 062002''' [arXiv:1707.02667 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"First low-frequency Einstein@Home all-sky search for continuous gravitational waves in Advanced LIGO data"__, '''Phys.Rev. D96 (2017) no.12, 122004''' [arXiv:1707.02669 [gr-qc]]
1. ''B. P. Abbott et al. LIGO Scientific and Virgo Collaborations'', __"GW170814: A Three-Detector Observation of Gravitational Waves from a Binary Black Hole Coalescence"__, '''Phys.Rev.Lett. 119 (2017) no.14, 141101''' [arXiv:1709.09660 [gr-qc]]
- wskim_여행정보 . . . . 1 match
http://preciousness.tistory.com/744
- wskim_여행정보_부안 . . . . 1 match
|| [:wskim_여행정보 return]||
- wskim_여행정보_출장_미국_시에틀_sc11 . . . . 1 match
|| [:wskim_여행정보 return]||
- wskim_여행정보_태국 . . . . 2 matches
|| [:wskim_여행정보 return]||
역사 : 한족의 남진에 밀려 중국의 양쯔강 남부...more
- zeroconfig . . . . 4 matches
윈도우 시스템에서 Bonjour이라고 하면 맥[[footnote(Mac OS X by apple Inc.)]]에서는 ''Rendezvous''하고 한다.
1. Name resolution, MDNS
1. Address allocation
It can currently be used for:
1. Sharing files - gShare
- 리눅스드라이버 . . . . 9 matches
int result;
result = alloc_chrdev_region(&dev, 0, 1, DRIVERNAME);
if (result < 0)
printk(KERN_ERR "Error : Could not register BSC device");
return -ENODEV;
return 0;
[http://www.oreilly.com/catalog/linuxdrive3]
[http://examples.oreilly.com/9780596005900/ "예제 다운로드"]
- 리눅스의구조 . . . . 2 matches
* HAL(Hardware Abstraction Layer)
HAL(Hardware Abstraction Layer)는 플랫폼 하드웨어를 가상화하므로 드라이버를 다른 하드웨어에 쉽게 포팅할 수 있도록 해 준다.
- 사이트링크 . . . . 1 match
1. [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/index.html TI DVSDK Download]
- 세마포어 . . . . 7 matches
#title Semaphore에 대한 설명
리눅스 세마포어(semaphore)는 '''휴면하는 록'''이라 생각할 수 있다.
세마포어 구현은 <asm/semaphore.h> 에 정의되어 있다.
자료형은 struct smaphore이다.
static DECLARE_SEMAPHORE_GENERIC(name, count);
static DECLARE_MUTEX(name);
return -ERESTARTSYS; /* 시그널을 받았지만 세마포어를 얻지 못함 */
/* critical region ... */
[http://wiki.kldp.org/wiki.php/greendrm]
- 20100217 . . . . 2 matches
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
Z:\rnd\RND(Share)\IP Camera\데이타시트\dm365
- 20100222 . . . . 3 matches
# This make variable must be set before the demos or examples
#TARGET_FS := /home/wenchi/software/dm365/target
* av_capture : ISP 프로그램
- 20100223 . . . . 7 matches
* IRIS_REF에 '0'을 인가하던지 단절 시켜야 iris를 제어할 수 있음.
* IRIS_REF : GIO82
PINMUX가 속한 System module의 '''BASE ADDRESS'''는 0x01c4 0000 이다.
=== IRIS_REF를 위한 GPIO설정하기 ===
GPIO의 기본 '''BASEADDRESS'''는 0x01C6 7000 이다.
* IRIS_REF는 GIO82번과 연결 되어 있다.
void do_regw(int argc, char *argv[])
dm365_set_reg(addr, val);
printf("address = 0x%x, val = %x\n", addr,dm365_get_reg(addr));
void do_regr(int argc, char *argv[])
printf("address = 0x%x, val = %x\n", addr, dm365_get_reg(addr));
Found 501 matching pages out of 774 total pages
You can also click here to search title.