반응형

<2019. 11. 12.>

이비라푸에라공원(아침 조깅) - 리베르다지(Liberdade) - 쎄 성당 - 레스토랑(Panificadora Santa Tereza) - 복권 - 중앙시장(Municipal Market of São Paulo) - 크라콜란지아(마약소굴) - 봉헤찌로(한인타운) - 이탈리아 빌딩(전망대) - 아우구스타 거리 - 트리아농 공원 - 상파울루 미술관(MASP) - 맥도날드

 

봉헤찌로는 상파울루 시정부가 '상파울로 한인구역(Bairro Coreano em São Paulo)'으로 명명할 만큼,

한인사회가 밀집한 코리아타운이다. 

한국인들이 이렇게 많이 모이기 전에는 유대인, 아랍, 리비아 사람(리반)들이 주로 살았다고 한다.

그래서 건물주들은 아직 아랍, 리반들이 많은 편이라고. 

 

특히 브라질에서 가장 큰 옷시장을 한인들이 주도하고 있다.

상파울루 주 뿐 아니라 브라질 지방에서도 질 좋은 의류를 사러 이곳에 온다고 한다.

시골에서는 버스를 대절하여 단체로 새벽에 와서 저녁까지 옷을 사서 돌아가기도 한다고.

 

한인 사장님들은 일년에 한번씩 유럽에 방문하여,

트렌드를 보고와서 직접 옷(주로 여성의류)을 디자인하고 만들어 판매한다고 한다.

최근에는 교민 2, 3세들이 가게들을 물려받을 준비를 하고 있다고..

 

특히, 말라궤따(MALAGUETA)라는 옷가게 본점은 봉헤찌로의 한인이 운영하고 있으며,

브라질 전체에 약 50개 상당의 지점이 있으며, 최근 이낙연 전 총리도 다녀갔다고 한다(현지 교민 피셜).

 

헌데, 최근에는 중국인들이 중국의 대량생산된 값싼 옷들을 중국에서 사와서 싸게 파는 가게들이 많아졌고,

가격상 이점 때문에 봉헤찌로에 오던 쇼핑객들이 많이 줄어 예전같지 않다고 한다.

임차료를 낮춰주지는 않다보니 건물주 아니면 못버티고 가게를 빼는 경우도 많아지고 있고..

중국, 브라질, 아랍, 리반들이 운영하는 가게들로 대체되고 있다고 한다.

 

깔끔하고 퀄리티 있어보이는 매장들이 쭉 늘어서있고,

그 매장들을 거의 한인들이 운영하며,

상파울루 주 사람들이 다들 이곳으로 옷을 사러 온다는 사실에

"멋있다"는 말이 튀어나오며 왠지모를 뿌듯함과 자부심이 느껴졌다.

 

봉헤찌로의 메인거리 옆에는 단추, 악세서리, 원단 등을 판매하고 있다.

중국에서 원단 3~4 컨테이너씩을 도매로 떼와서 판매한다고.

한국사람들이 옷가게 뿐 아니라 원단 장사를 하기도 하는데,

한국 사람들끼리 서로 믿고 구매를 하는 경우가 많아 장사가 잘 되는 편이라고 한다(현지 교민 피셜). 

 

봉헤찌로는 메인 거리가 하나다.

(한인사회가 밀집한 지역 중 하나인 브라는 5~6개의 메인거리로 이루어져있다.)

 


위치 : 

https://goo.gl/maps/CA567c65NJZGec6w5

 

Google Maps

Find local businesses, view maps and get driving directions in Google Maps.

www.google.com

 

반응형
Posted by CCIBOMB
Deep Learning2020. 1. 7. 19:54
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)

  3) http://cs231n.stanford.edu/



1. LeNet-5 [LeCun et al., 1998]

 - 6개의 hidden layer 사용

 ※ softmax에서 좋은 결과를 내기 위한 두 가지 방법 : Deep(layer를 여러 개) & Wide(하나의 layer에 노드를 많이)

 

2. AlexNet [Krizhevsky et al. 2012]

 - 원본 그림 : 크기 227x227, 색상 RGB 3가지

 - 필터 : 크기 11x11, 개수 96

 - W 개수 : 11x11x3

 

 - AlexNet 전체 네트워크 구성 : ReLU를 사용한 첫 번째 모델, dropout 및 ensemble도 적용함

 

3. GoogLeNet [Szegedy et al., 2014]

 - 새로운 이론 'inception module' 적용

 

4. ResNet [He et al., 2015]

 - 152개의 layer 사용, 2~3주간 8개의 GPU로 학습

 - VGANet(2014년 ImageNet 대회 출전 모델 - 당시 16개의 CONV/FC layer만 사용)보다 빠름

 

5. ResNet vs GooLeNet

 

6. CNN for Sentence Classification [Yoon Kim, 2014]

 

7. AlphaGo [DeepMind]

 - 19x19 크기의 이미지 사용 -> 패딩을 적용하여 23x23 크기로 재구성

 - 48개의 feature planes(채널) 사용 -> 바둑돌 하나 놓을 때마다 48가지 특징으로 판단 (이세돌이 한판이라도 이긴게 대단한 거 아닐까..)

반응형
Posted by CCIBOMB
Deep Learning2020. 1. 3. 23:55
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)

  3) http://cs231n.stanford.edu/

 

1. Convolutional Neural Networks (CNN)

 - CONV와 RELU가 한 쌍으로 구성, 중간에 POOL(pooling, sampling, resizing)이 들어감

 - FC : Fully Connected network

 

2. image로 CNN 이해하기

 (1) Start with an image (width x height x depth)

  - 그림 크기 32 x 32

  - 색상 3가지(red, green, blue) x 3

 

 (2) Let's focus on a small area only (5 x 5 x 3)

  - 색상에 해당하는 3은 항상 같아야 함

 

 (3) Get one number using the filter

  - 필터가 차지하는 영역을 하나의 값으로 변환 : Wx + b

  - W는 weight (필터에 해당), x는 외부에서 읽어온 값으로 불변(이미지에 해당)

  - CNN의 목표는 올바른 필터를 찾는 것

  - ReLU 함수를 이용하고 싶다면 간단하게 ReLU(Wx+b)

 

 (4) Let's look at other areas with the same filter

  - 동일한 필터를 사용하여 다른 영역도 조사

 

  - 이 때 필터가 움직이는 규칙을 stride라고 하며, ouput의 크기를 계산하면 다음과 같음

    output size = (input size - filter size) / stride + 1

 

  - 이와 같이 반복되는 경우 convolutional layer를 거칠 때마다 output의 크기가 작아지는 문제가 발생함

    => padding을 통해 해결 (원본이미지 주변을 0으로 채움)

 

 (5) Swiping the entire image

  - activation map : 여러 개의 필터(convolutional layer)를 거친 출력 결과(channel)

 

  - activation map(28, 28, 6) :

    output size 28 = (input size 32 - filter size 5) / stride 1 + 1

    filter 개수 6

 

 (6) Convolutional layers

  - CONV를 거칠 때마다 크기가 작아지고 두꺼워짐

  - 두께는 필터의 개수, 색상, 채널(channel)을 의미함

 

3. Pooling (sampling, resizing)

 

 - Max Pooling : 여러 Pooling 기법 중 가장 많이 사용. 여러 개의 값 중 가장 큰 값을 꺼내서 모음

 

4. FC layer (Fully Connected Layer)

 - 아래 그림의 경우, 최종 결과물이 5개 중 하나 : softmax 사용 

 

 - CNN 동작을 시각적으로 보여주는 웹사이트 : https://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html

 

ConvNetJS CIFAR-10 demo

 

cs.stanford.edu

 

반응형
Posted by CCIBOMB
Deep Learning2020. 1. 3. 23:39
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)



1. Softmax classifier for MNIST : Accuracy 0.9035

 - (중요 코드)

# weights & bias for softmax classifier
  hypothesis = tf.matmul(X, W) + b
# define cost/loss & optimizer
  cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=hypothesis, labels=Y))
  optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

 

 

2. NN for MNIST : Accuracy 0.9455

 - (중요 코드) 3단으로 늘림, ReLU 사용

# weights & bias for nn layers
W1 = tf.Variable(tf.random_normal([784, 256]))
b1 = tf.Variable(tf.random_normal([256]))
L1 = tf.nn.relu(tf.matmul(X, W1) + b1)
 
W2 = tf.Variable(tf.random_normal([256, 256]))
b2 = tf.Variable(tf.random_normal([256]))
L2 = tf.nn.relu(tf.matmul(L1, W2) + b2)
 
W3 = tf.Variable(tf.random_normal([256, 10]))
b3 = tf.Variable(tf.random_normal([10]))
hypothesis = tf.matmul(L2, W3) + b3
 
# define cost/loss & optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=hypothesis, labels=Y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

 

3. Xavier Initialization for MNIST (초기화를 잘 하기) : Accuracy 0.9779

 - (중요 코드) 초기값 initializer만 변경

# weights & bias for nn layers
# http://stackoverflow.com/questions/33640581/how-to-do-xavier-initialization-on-tensorflow
W1 = tf.get_variable("W1", shape=[784, 256],
initializer=tf.contrib.layers.xavier_initializer())
b1 = tf.Variable(tf.random_normal([256]))
L1 = tf.nn.relu(tf.matmul(X, W1) + b1)
 
W2 = tf.get_variable("W2", shape=[256, 256],
initializer=tf.contrib.layers.xavier_initializer())
b2 = tf.Variable(tf.random_normal([256]))
L2 = tf.nn.relu(tf.matmul(L1, W2) + b2)
 
W3 = tf.get_variable("W3", shape=[256, 10],
initializer=tf.contrib.layers.xavier_initializer())
b3 = tf.Variable(tf.random_normal([10]))
hypothesis = tf.matmul(L2, W3) + b3

 

4. Deep NN for MNIST : Accuracy 0.9742 

 - (중요 코드) 5단으로 늘림, 더 넓힘. 깊고 넓게~ => but 결과는 실망 (아마도 overfitting)..

# weights & bias for nn layers
# http://stackoverflow.com/questions/33640581/how-to-do-xavier-initialization-on-tensorflow
W1 = tf.get_variable("W1", shape=[784, 512],
initializer=tf.contrib.layers.xavier_initializer())
b1 = tf.Variable(tf.random_normal([512]))
L1 = tf.nn.relu(tf.matmul(X, W1) + b1)
 
W2 = tf.get_variable("W2", shape=[512, 512],
initializer=tf.contrib.layers.xavier_initializer())
b2 = tf.Variable(tf.random_normal([512]))
L2 = tf.nn.relu(tf.matmul(L1, W2) + b2)
 
W3 = tf.get_variable("W3", shape=[512, 512],
initializer=tf.contrib.layers.xavier_initializer())
b3 = tf.Variable(tf.random_normal([512]))
L3 = tf.nn.relu(tf.matmul(L2, W3) + b3)
 
W4 = tf.get_variable("W4", shape=[512, 512],
initializer=tf.contrib.layers.xavier_initializer())
b4 = tf.Variable(tf.random_normal([512]))
L4 = tf.nn.relu(tf.matmul(L3, W4) + b4)
 
W5 = tf.get_variable("W5", shape=[512, 10],
initializer=tf.contrib.layers.xavier_initializer())
b5 = tf.Variable(tf.random_normal([10]))
hypothesis = tf.matmul(L4, W5) + b5
 
# define cost/loss & optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(
logits=hypothesis, labels=Y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

 

5. Dropout for MNIST : Accuracy 0.9804 

 - (중요 코드) 1개의 layer 추가만으로 tensorflow에서 구현 가능. 통상 0.5~0.7로 training 후 1로 testing!

W1 = tf.get_variable("W1", shape=[784, 512], initializer=tf.contrib.layers.xavier_initializer())
b1 = tf.Variable(tf.random_normal([512]))
L1 = tf.nn.relu(tf.matmul(X, W1) + b1)
L1 = tf.nn.dropout(L1, keep_prob=keep_prob)

...

# train my model
for epoch in range(training_epochs):
avg_cost = 0
 
for i in range(total_batch):
batch_xs, batch_ys = mnist.train.next_batch(batch_size)
feed_dict = {X: batch_xs, Y: batch_ys, keep_prob: 0.7}
c, _ = sess.run([cost, optimizer], feed_dict=feed_dict)
avg_cost += c / total_batch
 
print('Epoch:', '%04d' % (epoch + 1), 'cost =', '{:.9f}'.format(avg_cost))
 
print('Learning Finished!')
 
# Test model and check accuracy
correct_prediction = tf.equal(tf.argmax(hypothesis, 1), tf.argmax(Y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print('Accuracy:', sess.run(accuracy, feed_dict={
X: mnist.test.images, Y: mnist.test.labels, keep_prob: 1}))

 

6. Optimizers

 - GradientDescentOptimizer 外 어떤 알고리즘이 더 좋은지 Simulation 가능

- http://www.denizyuret.com/2015/03/alec-radfords-animations-for.html  

 

- Adam Optimizer를 처음 써보는 것을 추천 : 기존 코드에서 GradientDescentOptimizer -> AdamOptimizer로만 변경

#define cost/loss & optimizer
cost =tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=hypothesis, labels=Y))
optimizer =tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

 

반응형
Posted by CCIBOMB
Deep Learning2020. 1. 3. 23:24
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)



1. Overfitting을 방지하는 3가지 방법

 (1) training data 많이 모으기

  - data가 많은 경우 training set, validation set, test set으로 나누어 진행 가능

  - 영역별 data 크기가 커지므로 overfitting 확률이 낮아짐

 (2) feature 개수 줄이기

  - 서로 비중이 다른 feature가 섞여서 weight 경합시 좋지 않은 결과가 나올 수 있음

  - deep learning은 sigmoid 대신 ReLU 함수를 이용하거나, dropout 등을 통해 해결 가능

 (3) regularization

  - weight이 너무 큰 값을 갖지 않도록 제한

 

2. Dropout

 - 전체 노드를 weight 계산에 참여시키지 않고, 일부만 참여시키는 아이디어

 

 - TensorFlow 구현 : relu 함수 호출 후 다음 layer에 전달하기 전 dropout 함수를 호출. 그 비율은 0~1 사이로 랜덤하게.

 

3. Ensemble (앙상블) :  최소 2%에서 4~5% 상당의 성능 향상을 보임

 1) 데이터를 여러개의 training set으로 나누어 동시에 학습을 진행

 2) 모든 학습이 끝나면 결과를 통합

반응형
Posted by CCIBOMB
반응형

<bittnexx.com>

bittnexx.com은 비트코인을 송금하면 파일을 다운로드 할 수 있게 해주는 플랫폼이다.

익명성과 자동화가 특징이다.

아동성착취물 사이트 내에서 동영상, 사진 공유 등을 목적으로 다크웹 상에서

비트코인 결제 플랫폼으로 활용되고 있다.

 

 

< 사용법 : 업로더 >

해당 사이트에 1. 파일을 업로드 하고,

2. 원하는 비트코인 금액을 설정만 하면,

3. 다운로드 링크가 부여된다.

4. 공유를 원하는 경우 이 다운로드 링크를 뿌리면 된다.

 

 

< 사용법 : 다운로더 >

해당 링크로부터 파일 다운로드를 원하는 사용자들이

1. 정해진 금액 상당의 비트코인을 송금하고,

2. 트랜잭션 넘버를 입력하면,

3. 사이트에서 자동으로 해당 거래를 검증한 뒤,

4. 다운로드가 된다.

 

 

캡쳐화면을 첨부하여 다시 설명하면 다음과 같다.

< 사용법 : 업로더 >

1. 'START' 버튼을 누른다.

 

2. 업로드할 파일을 선택하고, BTC 금액과 입금받을 BTC 지갑주소를 설정한다.

 

※ 업로드 테스트한 그림파일

1) 파일이름 : 그림2.png

2) MD5 : CA486259FB18AD9714F9077D493D4621

3) 파일크기 : 178KB (182,344 바이트)

 

3. 완료시, 1) 다운로드 링크 주소와 2) 편집 및 통계확인이 가능한 링크 주소 두 개가 각각 생성된다.

 

4. 해당 파일을 다운로드하고 싶어하는 사람들에게 1) 다운로드 링크 주소를 배포하면 된다.

 

5. 편집 및 통계확인이 가능한 링크주소는 별도의 인증절차가 없으니 혼자 잘 간직하는 게 좋다.

비트코인 금액과 다운로드 가능횟수, 파일에 대한 설명 등을 편집할 수 있다.

 

 

< 사용법 : 다운로더 >

1. 파일 다운로드 링크에 접속하면, 다음과 같이 파일명이 암호화되고 비트코인 금액이 기재된 페이지가 나온다. 

아래 다운로드 버튼을 누른다.

 

2. 비트코인 지갑 또는 웹거래소 등을 이용하여 비트코인을 송금한다.

 

3. 해당 트랜잭션 넘버를 입력한다.

 

3. 사이트에서 5분동안 해당 거래를 검증한 뒤, 다운로드가 가능하다.

 

4. 정상적으로 다운로드 된 파일

1) 파일이름 : 그림2.png

2) MD5 : CA486259FB18AD9714F9077D493D4621

3) 파일크기 : 178KB (182,344 바이트)

반응형
Posted by CCIBOMB
Deep Learning2020. 1. 2. 22:30
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)



1. 모든 wieght 초기값을 0으로 설정한다면,

 - deep learning 알고리즘은 동작하지 않음

 

2. RBM(Restricted Boltzmann Machine)을 이용한 weight 초기화

 - Hinton et al. (2006) "A Fast Learning Algorightm for Deep Belief Nets" - Restricted Boltzmann Machine

 - Restriction = 같은 layer 안 어떤 연결도 존재하지 않음

 

 - forward : 현재 layer에 들어온 x값에 대해 weight을 계산한 값을 다음 layer에 전달
   backward : 전달받은 값을 거꾸로 현재 layer에 weight 값을 계산하여 전달

 - forward, backward 계산을 반복하여 최초 전달된 x와 에측한 값(x hat)간 차이가 최소가 되는 weight 발견

 

 - deep belief net : 이러한 RBM 방식으로 초기화된 모델

 - Fine Tuning : 이러한 방식으로 초기화하여 학습(learning)을 시작하면 시간이 매우 단축됨

 

3. Xavier/He initialization

 - Xavier : 입력값(fan_in)과 출력값(fan_out) 사이 난수를 선택하여 입력값의 제곱근으로 나눔

 - He : 입력값을 반으로 나눈 제곱급을 사용함. (Xavier보다 넓은 범위의 난수를 생성)

 

4. 그 밖에 다양한 초기화 방법

반응형
Posted by CCIBOMB
Deep Learning2019. 12. 30. 23:43
반응형

 김성훈 교수님의 [모두를 위한 딥러닝] 강의 정리

 - https://www.youtube.com/watch?reload=9&v=BS6O0zOGX4E&feature=youtu.be&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&fbclid=IwAR07UnOxQEOxSKkH6bQ8PzYj2vDop_J0Pbzkg3IVQeQ_zTKcXdNOwaSf_k0

 - 참고자료 : Andrew Ng's ML class

  1) https://class.coursera.org/ml-003/lecture

  2) http://holehouse.org/mlclass/ (note)

 


1. Sigmoid

 - Sigmoid 함수는 binary classification에 적절한 함수

 - 처음은 input later, 마지막은 output layer, 가운데 보이지 않는 부분은 hidden layer

 

 - Vanishing Gradient : 이러한 hidden layer를 2, 3단이 아니라 9, 10단까지 늘릴 경우, 오히려 정확도가 0.5 밖에 되지 않는 문제 발생 : sigmoid 함수가 0~1 사이의 값이므로 이를 9, 10단만큼 곱해지는 경우 거의 0에 수렴하는 작은 값이 되어버림.

 

 

2. ReLU (Rectified Linear Unit)

 - Vanishing Gradient를 방지하기 위해, Sigmoid 함수의 개선 함수로 ReLU 함수가 제시됨

 - 0보다 작은 값이 나온 경우 0을 반환하고, 0보다 큰 값이 나온 경우 그 값을 그대로 반환

 - ReLU 구현 :

   함수 max(0, x)

   텐서플로우 적용시에는 sigmoid 함수 대신 relu 함수 사용

 

3. Sigmoid < ReLU

 

4. ReLU 외 다양한 활성화 함수들 (Activation Functions)

 - ReLU : max(0, x)처럼 음수에 대해서만 0으로 처리하는 함수
 - Leaky ReLU : ReLU 함수의 변형으로 음수에 대해 1/10로 값을 줄여서 사용하는 함수
 - ELU : ReLU를 0이 아닌 다른 값을 기준으로 사용하는 함수
 - maxout : 두 개의 W와 b 중에서 큰 값이 나온 것을 사용하는 함수
 - tanh : sigmoid 함수를 재활용하기 위한 함수. sigmoid의 범위를 -1에서 1로 넓힘

반응형
Posted by CCIBOMB
반응형

<2019. 11. 12.>

이비라푸에라공원(아침 조깅) - 리베르다지(Liberdade) - 쎄 성당 - 레스토랑(Panificadora Santa Tereza) - 복권 - 중앙시장(Municipal Market of São Paulo) - 크라콜란지아(마약소굴) - 봉헤찌로(한인타운) - 이탈리아 빌딩(전망대) - 아우구스타 거리 - 트리아농 공원 - 상파울루 미술관(MASP) - 맥도날드

 


마약의 땅, 마약소굴, 마약 거리(cracolândia)

현지에서는 좀비랜드 라고도 부른다.

 

포르투갈어로 '크라끼'라는 마약..

1헤알이면 마약을 구매할 수 있는 곳, 브라질 상파울루..

 

브라질에서는 마약 중독자들에 대하여 경찰에서 단속을 손 놓은 상태라고 한다.

보건당국의 문제로 치부되어 마약 사용자는 단속, 강제입원 대상이 아니라,

브라질 사회에서 치료를 해줘야 하는 대상으로 보기 때문이다.

 

마약 중독자들은 옹기종기 모여 앉아있거나 거리에 서성인다.

크라콜란지아, 마약의 땅은 상파울루 도심에 자리하고 있고, 

한인타운인 봉헤찌로와 매우 가깝다.

이 곳은 관광객 뿐 아니라 시민들도 접근하지 않는다.

 

차를 타고 지나갈 때에도 절대 멈추지 말라고 한다.

마약 중독자들이 언제 달려들지 모른다고..

 

크라콜란지아에서는 매일 시신이 발견된다고 한다.

마약에 중독돼 사망하거나, 영역다툼 혹은 마약조직에 반항하다 죽은 것으로 추정된다..

 

왜 상파울루 도심 한가운데에 있는 크라콜란지아를 해결하지 못하고 있는 걸까.

풍선효과 때문이다.

지난 2017년에 이 크라콜란지아에 대해 대규모 경찰병력을 투입해 소탕작전을 펼쳤으나, 

이들이 다른 지역으로 옮겨가 지역주민들이 크게 바로 반발했다.

특히 바로 옆 한인상가가 모여있는 봉헤찌로로 옮겨간 이들로 인해, 상인들이 고심을 했다.

 

결국.. 경찰과 지방정부는 마약 중독자들이 이곳을 넘어서 다른 곳에서 소란을 피우지 않도록, 

차라리 이 곳에 모아놓고 관리하는게 낫다고 판단한 것 같다.

 

 

 

위치 : 

https://goo.gl/maps/N4fjZcYkWsehXtds6

 

Google Maps

Find local businesses, view maps and get driving directions in Google Maps.

www.google.com

 

반응형
Posted by CCIBOMB
반응형

<2019. 11. 12.>

이비라푸에라공원(아침 조깅) - 리베르다지(Liberdade) - 쎄 성당 - 레스토랑(Panificadora Santa Tereza) - 복권 - 중앙시장(Municipal Market of São Paulo) - 크라콜란지아(마약소굴) - 봉헤찌로(한인타운) - 이탈리아 빌딩(전망대) - 아우구스타 거리 - 트리아농 공원 - 상파울루 미술관(MASP) - 맥도날드

 


상파울루 중앙시장 (Municipal Market of São Paulo)

 

상파울루 중앙시장은 브라질이 본격적으로 커피 경제에 진입하기 시작한 1900년대에 생겼다고 한다.

상파울루가 커피 경제의 중심지로 사람들이 모여들고 비약적인 성장을 하면서 자연스럽게 발전해 왔다고.

1990년대 접어들어 대형 유통업체들의 등장으로

재래시장이 쇠퇴하고 상파울루 중앙시장을 찾는 사람들의 발걸음도 현저하게 줄어들자, 

상파울루시는 2004년 대규모 리모델링을 단행해, 

현재의 고풍스럽고 세련된 외관으로 재탄생시켰다.

(1932년 군대 훈련소로 사용하기 위해 지어진 건물을 리모델링했다.)

 

빽빽하게 진열된 상품들을 보는 것도 중앙시장 구경의 묘미 중 하나이다.

 

 

 

축산대국 답게 다양한 축산품을 판매하고 있다.

생고기 뿐 아니라 소시지, 햄, 하몽, 버터, 치즈 등 다양하다.

 

한국사람들도 많이 찾다보니, '삼겹살'도 알아듣는다.

삽겹살 kg당..? 16.8헤알(한화 약 5천원)

kg당이 아닌가.. 브라질에서 삼겹살이 인기있는 부위는 아니라고 듣기는 했지만 이정도로 싼가;;

 

행복한 돼지라는 뜻의 'Porco Feliz'

 

행복한 황소라는 뜻의 'Boi Feliz'

 

과일가게 앞에는 점원들이 정말 적극적으로 장사를 한다.

이래도 되나 싶을만큼 신선한 과일들을 맛보게 해준다.

너무 미안해하지 말고 맛있게 맛보고 지나가는 것도 요령이다.

 

왕 애플망고 1개 구입. 막상 사려고 하면 한번에 엄청 사게 하려고 한다. 

말이 잘 안통해도 열심히 설명해서 적당량만 구매하시기를..

 

1층은 도소매 가게들이나, 2층은 식당으로 꽉 차있다.

 

햄 가득한 샌드위치들..

이렇게 가득가득 넣어야만 했나 싶을 정도로 겹겹이 햄을 쌓아서 먹는다.

 

각종 파스텔들..

 

2층에서 내려다본 1층 매장들 모습

 

 

중앙시장 옆 쇼핑몰(feira shop) 내 전자제품 가게

이런 가게들은 요새 대부분 중국인들이 운영 중이라고 한다.

 

 

중앙시장 근처 주차요금

1시간에 25헤알

 

위치 : R. Cantareira, 306 - Centro Histórico de São Paulo, São Paulo - SP, 01024-900 브라질

https://goo.gl/maps/BMBeKo6MV11A9iwdA

 

Google Maps

Find local businesses, view maps and get driving directions in Google Maps.

www.google.com

 

반응형
Posted by CCIBOMB