원자력의 유혹

isbn : 8959590967

이 책이 지금은 절판 되었다. 도서관에 있는 표지에 한국원자력문화재단 증정 도장이 어떤 목적-원자력의 공포 해소?-으로 기증되었음을 추측하게 한다. 크게 3가지의 주제가 책을 구성한다. 핵무기, 원자력 발전, 방사선/방사성 동위원소. 3가지 모두 인류 번영에 큰 역할을 했다. 원자력 발전이 온실가스 발생이 적은 전기를, 방사선이 최신 의료기기를 만들었다. 핵무기가 공포의 균형으로 3차 세계대전을 막았다. 핵폭탄의 위력을 몸바쳐 보여준 일본에 감사하다.

원자력 발전소 핵 폐기물을 어떻게 처리하는지 궁금했는데, 이 책이 잘 설명하지 않았다. 위키피디아가 다음과 같이 정리했다.
가장 처리하기 힘든 핵 폐기물이 플루토늄이고, 그 반감기가 몇 만년 이상이다. 핵무기 외 플루토늄이 사용될 장소는 없다. 재처리 기술이 폐기물에서 우라늄과 플로토늄을 뽑아낸다. 한국이 2015년 한미 원자력 협정 개정으로 국내에서 핵연료 재처리를 할 수 있게 되었다. 여기에서 뽑아낸 핵연료가 4세대 원자로에 연료로 사용될 예정이다. 이 기술이 망하면, 우주로 보내야 하나??

잔혹한 세계사

isbn : 8984454745
호기심에 읽기 시작했으나, 너무 많이 죽어 중간부터 읽기 힘들었다. 책이 총 18개의 세계사에 영향을 준, 카르타고부터 보스니아까지의 학살을 다룬다. 146년 발생한 카르타고 학살은 과거 인류가 잔인했다고 이해할만하나, 1995년 보스니아를 보면 그 잔인성이 아직도 살아있음을 확인했다.

책 중에 대량학살의 필요 조건이 하나 제시된다. 한 세력이 다른 세력보다 월등함이다. 세력간 비등한 상태에 학살이 발생하기 어렵다. 자국을 지키기 위해서, 상대가 악마로 변하지 못하도록 군사력 균형이 필요하다.

전쟁 외에 거대 국가 권력에 의한 학살이 중국의 천안문 사태, 캄보디아 킬링 필드로 예시된다. 해당 국가의 국민들이 이를 막기 위해서 목숨을 걸어야 하지만, 다른 국가의 국민들이 자국을 압박하여 불량 국가에 압력을 행사해야 한다고 본다. 책에 그런 경우가 과거 드물었고, 대량 학살로 발전되어 안타깝다. 거대 국가의 만행을 보면 정의로운 국민들이 자국 이익을 버리더라도 그들과 단교, 군사력 행사를 했으면 했는데, 그런 경우는 드물고 대부분 자국의 이익을 위해 침묵, 방조했다. 미래의 학살을 막기 위해서 자신/자국의 이익을 포기할 수 있는, 인류 존엄을 위한 단호함이 필요해 보인다.

대통령을 위한 에너지 강의

요즘 사람들이 원자력 발전소를 짓는다 아니다로 시끄럽다.

정부와 시민단체의 합의체가 3개월안에 신규 원자력 발전소를 어떻게 할지 결정한다. 이런 시기에 에너지가 어떻게 공급되고, 미래에 어떻게 공급이 변경될지 궁금하여 이 책을 선택했다. 제목이 대통령을…인데, 나는 “미국 대통령을 위한 에너지 강의”가 적절하다고 본다. 왜냐하면 최근 기술이 밝혀낸 미국 지하의 엄청나게 매장된 천연가스가 차세대 에너지원으로 사용되어야 한다고 주장하기 때문이다.

천연가스가 석탄/석유보다 1/3의 이산화탄소를 배출하고, 충분한 매장량으로 개발 도상국이 온실효과를 막기위해 사용하기 적절하다.

비싼 대안 에너지가 값싼 천연가스와 경쟁할 수 없다. 차라리 원자력 발전 증가가 온실효과에 효과적이다. 이를 위해 후쿠시마 원자력 발전소 사고의 규모가 그다지 크지 않다고 강조한다. 지진해일 피해자가 약 10,000명을 넘어가나, 원자력 발전소 방사능 노출로 약 100명이 죽었다는 객관적 근거로… 미국 덴버의 방사능 노출량과 후쿠시마를 비교하여 원자력 발전의 공포를 걷어내려 한다.

천연가스가 끝판왕이라, 시추 기술에도 호의적이다.

2010년에 있었던 멕시코 만의 시추선 폭발 사건도 그리 대수롭지 않게 서술한다. 현대 중공업이 딥 워터 호라이즌호를 제작했다고 한다. 환경 재앙이 될 뻔했던 운좋은 사고라고.

데이터를 근거로 지구 온난화가 확실한 사실이라 주장한다.

중국과 미국이 온실가스를 많이 배출한다. 미국이 이미 개발되었으므로 다소 비용이 들더라도 온실가스를 통제할 것이다. 그러나 중국의 입장이 미국과 다르다. CO2 가스 저감을 위해 인민의 배를 굶기는 정치적 모험을 하지 않을 것이다. 중국의 참여가 온난화 방지 여부를 결정한다. 매 40년만의 온실가스 증가가 지구 기후에 큰 영향을 미친다. 중국이 온실가스를 제어하기 위해서는, 에너지 비용이 저렴해야 한다. 또한 에너지 밀도가 높아야 한다. 그 에너지가 바로 천연가스와 원자력 발전이다. 다른 대안 에너지들이 상용화까지의 기간, 낮은 에너지 밀도, 비싼 비용 등으로 몇 십년안에 사용되지 않을 것이다.

한국은 원자력 발전 외 선택지가 없어 보인다.

미, 중은 땅이라도 커 매장된 자원이 많지 우리는 그렇지 못하다. 우리가 에너지를 수입에 의존하기 않기 위해서는 원자력 발전만이 유일하다. 일본이 터트린 크리로 모두가 원전을 반대하는 지금,  원자력에 열심히 투자하여 에너지 독립을 했으면 한다. 덤으로 차세대 우주 발사체에는 원자력이 꼭 필요해 보인다. 얼마전 고리 1호기가 폐쇄되어, 그 해체 경험으로 관련 기술을 얻었으면 한다. 과거 책들이 예측한 수소 경제도 생각해 볼만하다. 지금 수소를 얻는 방식이 온난화 방지 대책에 아니지만, 지금 개발중인 원자력 수소를 반론하지 않았다. 아마 개발까지 오래 걸리기때문에 논의하지 않았나 보다.

국부론

국부론, 범우사, isbn 9788908010291

휴가를 맞아 이 유명한 책을 읽기로 했다. 이 책의 위대한 이유가 궁금하여 완역을 도서관에 빌렸으나, 다시 읽는다면 요약된 책을 읽겠다. 애덤 스미스의 초판이 1,776년에 발행되었고, E.Cannan이 수정한 책이 가장 유명하다. 일본 번역본 4권을 참고하여 범우사의 이 책이 출판됬다. 그래서인지 문장이 어색하고 의미가 확실하지 않다. 원문을 번역했으면 뜻이 명확했을 점이 아쉽다.

애덤 스미스가 쓴 국부론 ‘An inquiry into the nature and causes of the wealth of nations’과 도덕 감정론이 유명하다. 이에 대한 동영상 강의를 봤는데, 나중에 한번 요약본으로 읽어 봤으면 한다.

고등학교 교과서가 ‘애덤 스미스의 보이지 않는 손이 생산과 소비를 조정한다’고 했는데, 내가 그런 문구를 찾지 못했다. 이 책은 그런 주장을 하기보다, 과거 정리되지 않은 경제 개념을 정리했다. 내용이 많아 목차로 대략 흐름을 파악했다.

1. 서론 및 이 책의 구상
2. 제 1편, 노동의 생산제력의 개선의 제원인과 그 생산물이 국민의 여러 계급들 사이에 자연적으로 분배되는 질서에 대하여
3. 제 2편, 자본(S)의 성질, 축적 및 용도에 대하여
4. 제 3편, 제국민에 있어서의 부유의 진보의 차이에 대하여
5. 제 4편, 경제학의 제체계에 대하여
6. 제 5편, 주권자 또는 국가의 수입에 대하여

각 장마과 책의 목적이 서문에 서술되었다. 아래와 같이 인용하여 정리했다.

… 노동이 그 국민이 해마다 소비하는 모든 생활 필수품과 편의품을 공급하는 필수 자원이다. … 다음 두 가지가 생산과 소비의 비율을 결정한다. 하나는 국민의 숙련, 기능 및 판단력의 정도이고, 다른 하나는 노동자의 수효와 노동에 종사하지 않는 사람의 수효의 비율이다….
노동 생산성의 향상 원인과 생산물의 자연적 분배가 제 1편의 주제이다. … 제 2편에서는 …자본이 어떻게 노동자와 비노동자의 비유을 변경시키는가를 다룬다.
…유럽제국의 정책이 (농업보다) 도시의 산업인 공예, 제조업 및 상업을 후대하여 왔다. …이런한 원인을 제3편에서 설명된다.
…제 4편에서는 이러한 여러가지 학설들과 …결과를 …설명하려고 노력하였다.
…제 5편, ..국가의 수입(과 지출)을 다룬다.

제 1편을 요약하면..노동이 국가 국성원에 모든 생활 필수품을 제공하는 필수 자원이다. 여러 국가간 생산품의 차이가 노동자의 질과 국민 중 노동자의 비율로 결정된다. 노동자는 임금을, 지주는 지대를, 자본가는 이윤을 추구한다. 각 계급의 이익을 위한 경쟁이 서로 영향을 주며, 자원을 분배한다.
제 2편부터는 경제의 개념을 설명한다. 블라블라…무역 제도, 화폐의 의미, 용도, 민병대가 상비군으로 된 이유, 독점의 폐혜 등..

이 책을 보면서, 의미없는? 문장을 읽느라 힘들었다. 도저히 문장의 의미를 알 수 없었다. 다음엔 요약본 또는 동영상 강의를 볼것이다.

텐서플로우 컴파일 설치하기

텐서플로우 GPU 버전을 설치하면 최고인데, CPU 버전만 사용해야 한다. CPU 버전을 쓰면 아래와 같이 메세지가 나온다.

(tensorflow) now0930@:cifar10$ python cifar10_testv1.py 
Using TensorFlow backend.
Couldn't import dot_parser, loading of dot files will not be possible.
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_1 (Conv2D)            (None, 32, 32, 32)        896       
_________________________________________________________________
dropout_1 (Dropout)          (None, 32, 32, 32)        0         
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 32, 32, 32)        9248      
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 32, 16, 16)        0         
_________________________________________________________________
flatten_1 (Flatten)          (None, 8192)              0         
_________________________________________________________________
dense_1 (Dense)              (None, 512)               4194816   
_________________________________________________________________
dropout_2 (Dropout)          (None, 512)               0         
_________________________________________________________________
dense_2 (Dense)              (None, 10)                5130      
=================================================================
Total params: 4,210,090
Trainable params: 4,210,090
Non-trainable params: 0
_________________________________________________________________
None
Train on 50000 samples, validate on 10000 samples
Epoch 1/25
2017-06-17 08:55:41.662236: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-17 08:55:41.663359: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-17 08:55:41.663384: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
  288/50000 [..............................] - ETA: 707s - loss: 2.3271 - acc: 0.1076

연산 시간이 CPU 최신 기술로 줄어든다는데, 전에 해보렸으나 적당한 tutorial이 없어 못했다. 그러던 중, 아래 사이트를 찾았다.
텐서플로우, 직접 소스코드 빌디하여 설치하기

정리하면..

  1. Git에서 clone으로 다운로드
    $ git clone https://github.com/tensorflow/tensorflow
    $ cd tensorflow
    $ git checkout r1.2  #r은 release..적용 버전이 1.2
  2. tensorflow을 컴파일하기 위한 Bazel 설치
    세가지 방법으로 Bazel 설치 가능하다. 나는 debian을 사용하므로, compile 했다.

    1. Install required Package
      apt-get install pkg-config zip g++ zlib1g-dev unzip
    2. Download..
    3. 실행 권한을 주고 run
    4. bazel 경로를 PATH 변수에 추가
      export PATH="$PATH:$HOME/bin"
  3. tensorflow 컴파일 옵션 설정..configure..
    #아까 다운로드 받은 tensorflow 디렉토리에서..
    ./configure
  4. Bazel로 빌드하기
    bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

    –config=opt 옵션이 아까 경고 부분을 해결한다.

  5. Pip 설치용 whl 만들기
    $./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

    bazel-bin이 링크다. 경로를 잘 확인한다. 패키지 파일을 /tmp 디렉토리에 넣어야 되는지 모르겠다.

  6. conda 가상 환경 활성화..
  7. 기존 tensorflow 설치버전 무시하고 설치
    (tensorflow)$ pip install --ignore-installed --upgrade tfBinaryURL

    tfBinaryURL이 아까 만든 /tmp/tensorflow_pkg의 whl 경로이다.

설치 후, python을 다시 실행하면 해당 메세지가 없어졌다.

(tensorflow) now0930@:cifar10$ python cifar10_testv1.py 
Using TensorFlow backend.
Couldn't import dot_parser, loading of dot files will not be possible.
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_1 (Conv2D)            (None, 32, 32, 32)        896       
_________________________________________________________________
dropout_1 (Dropout)          (None, 32, 32, 32)        0         
_________________________________________________________________
conv2d_2 (Conv2D)            (None, 32, 32, 32)        9248      
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 32, 16, 16)        0         
_________________________________________________________________
flatten_1 (Flatten)          (None, 8192)              0         
_________________________________________________________________
dense_1 (Dense)              (None, 512)               4194816   
_________________________________________________________________
dropout_2 (Dropout)          (None, 512)               0         
_________________________________________________________________
dense_2 (Dense)              (None, 10)                5130      
=================================================================
Total params: 4,210,090
Trainable params: 4,210,090
Non-trainable params: 0
_________________________________________________________________
None
Train on 50000 samples, validate on 10000 samples
Epoch 1/25

설치하기 전에는 속도가 많이 빨라질 것이라 기대 했으나..별 차이 없어보인다.