Let’s go!

  • gimp python-fu 사용

    gimp를 사용하면, 마우스를 많이 클릭해야 한다. 대부분 노가다인데, python-fu를 사용하면 반복 작업을 대폭 줄일 수 있다.

    필터 메뉴에서 python 콘솔을 열 수 있다. 해당 코드를 테스트할 경우 유용하나, 약간 긴 코드의 경우 script 파일을 만들어 실행함이 편하다. 다른 파일의 탭을 콘솔에 붙일 수 없다.

    코드를 만든 후, 아래 옵션으로 실행이 가능하다. 여기를 참조했다.

    Execute 2: gimp -idf --batch-interpreter=python-fu-eval -b - < save-xcf-to-png-02.py

    • 배치 인터프리터를 python-fu 설정.
    • 입력으로 스크립트 설정.

    아래 참조한 사이트에 있는  save-xcf-to-png-02.py 파일이다.

    # Note required here, see: /usr/lib/gimp/2.0/plug-ins/python-eval.py
    # from gimpfu import *
    from glob import glob
    
    def convert(filename):
      print "Filename: " + filename
      img = pdb.gimp_file_load(filename, filename)
      new_name = filename.rsplit(".",1)[0] + ".png"
      layer = pdb.gimp_image_merge_visible_layers(img, 1)
    
      pdb.gimp_file_save(img, layer, new_name, new_name)
      pdb.gimp_image_delete(img)
    
    for filename in glob("*.xcf"):
      convert(filename)
    
    pdb.gimp_quit(1)
    

    내가 하려는 작업은 2개 점이 찍힌 레이어를 랜덤수치만큼 이동하여 약 100개정도 이미지를 만듦이다. gimp 이미지 원본 파일에 배경, 점이 찍힌 레이어가 있다. 아래와 같이 간단한 코드로 50개를 금방 만들 수 있다.

    #-*- coding: utf-8 -*-
    import random
    from gimpfu import *
    
    #python-fu console에 직접 붙일 수 없어 아래 방식으로 명령어 실행.
    #>> gimp -idf --batch-interpreter=python-fu-eval -b -< !!!!!여기에 파일 이름 입력!!!
    
    i=0
    
    img = pdb.gimp_file_load("/home/now0930/gimpScript/basicForm.xcf","/home/now0930/gimpScript/basicForm.xcf")
    
    
    #점 2개가 찍힌 레이어. 점 2개를 임의의 위치로 이동.
    layer = img.layers[1]
    
    for i in range(1,50):
        x_new = random.randrange(-5,5)
        y_new = random.randrange(-5,5)
        x_off, y_off = layer.offsets
    
        pdb.gimp_layer_translate(layer, x_new-x_off, y_new-y_off)
    
        new_image = pdb.gimp_image_duplicate(img)
        new_layer = pdb.gimp_image_merge_visible_layers(new_image, CLIP_TO_IMAGE)
        i=i+1
        filename = '/home/now0930/gimpScript/Spec2/spec%d.png'%(i,)
        pdb.gimp_file_save(new_image, new_layer, filename,'?')
        pdb.gimp_image_delete(new_image)
    
        #원래 위치로 이동.
        pdb.gimp_layer_translate(layer, x_new+x_off, y_new+y_off)
    

    파일 이름을 입력으로 하는 방법도 있겠지만, 나만 쓸 스크립트이므로, 그냥 직접 경로를 넣었다.

  • 비상하는 용 베트남

    비상하는 용 베트남

    isbn: 9788946058606

    베트남이 과거 아시아의 4마리 호랑이에 아시아의 용이다. 베트남이 중국에 이어 사회주의 체제로 경제를 성장할 수 있을까? 아시아의 다른 나라들(라오스, 태국 등)이 왜 베트남과 달리 주목을 받지 않는지 이상하다.

    베트남이 과거 모든 전쟁에서 이겼다. 프랑스, 중국, 미국 등 다양한 적과 싸운 경험을 가진 나라다. 지금은 과거의 적이었던 미국, 한국과 교류한다. 한국이 베트남에 많은 비용을 투자했다. 미국과 같이 중국의 군사적 압박에 대응한다. 국경을 맞댄 나라는 적이 될 수 밖에 없는가? 그렇다면 과거 러시아, 중국, 베트남을 하나로 묶은 사회주의 이념이 참 대단하다. 북한은 오직 중국과 교류해서 그렇지, 향후 미국, 일본 등 다양한 나라와 교류하기 시작하면 그 둘이 친할수 없다.

    사회주의 지도부가 인민의 눈치를 보지 않을 줄 알았는데, 베트남은 다르다. 인민의 지지를 얻기 위해 지도부 역시 혁신을 거듭하고 있다. 언론이 지도층의 비리를 많이 묻고, 인민들 역시 다 알고있다. 그럼에도 안정적인 사회가 유지됨은 인민의 생활수준 향상에 의한 지도층의 정당성때문이다. 다른 민주주의 국가가 주기적으로 대표를 선출하지 않지만, 어느 시기에 그들 손으로 그것을 선택함은 당연하다.

    그들을 보면 우리와 비슷하다. 언어는 정말 다르다. 아시안 게임 개최를 위해 강제로 주민을 이주시킨 점, 유교가 종교의 근본인 점, 외세에 대한 강렬한 저항심. 인구 2,000만의 북한이 1억정도 되는 베트남을 보고 잘 따라갔으면 한다.

  • tensorflow 1.10 설치기

    아나콘다에 tensorflow를 설치하여 사용했다. 그러나 1.6버전 이후로 tensorflow를 import하면 illegal instruction을 내고 죽었다. 혹시나 해결되었는지 1.10으로 업데이트하여 확인했다. 그러나 역시 같은 문제로 1.5로 다시 돌어왔다.

    검색해 보니, 구글이 제공하는 tensorflow binary 1.6이후 파일이 cpu의 AVX를 기본지원한다. 인텔이 2008년 자사 CPU에 AVX 기능을 적용했다. 불행히도 나는 골동품 투반을 사용한다. CPU를 도저히 교체할 상황이 아니라, 힘들게 컴파일 하기로 했다. 담에는 intel cpu를 쓰리라.

    아래 순서로 작업했다.

      1. nvidia 드라이버 설치. 390버전을 ubuntu 16.04가 지원하지 않아 과감히 패스.
      2. cuda 등 설치. 컴파일하면 다양한 버전을 선택할 수 있다.
      3. tensorRT 설치. 컴파일 하기전 선택할 수 있음.
      4. 매뉴얼에 따라 tensorflow 1.10 컴파일.
      5. virtual environment 사용하여 설치. anaconda에 대해 구글이 알아서 해결하라 주의라, 패스.
      6. 가상 환경에서 activate 후, 내가 컴파일한 tensorflow 설치.

    투반이 6개 코어를 100% 가동하여 5,000초 동안 작업했다.ㅠㅠ

  • 서른! 후흑으로 승자의 미학을 만나다

    서른! 후흑으로 승자의 미학을 만나다

    isbn: 9788997558117

    춘추전국시대, 삼국시대의 중국 고사를 나열했다. 편저자가 자신의 의지로 나열했다고 생각했으나, 다른 후흑학 책 내용 역시 비슷한 순서임을 보아, 원저가 이런 순서로 생각된다.

    얼굴을 두껍게 하고, 마음을 읽기 힘들게 하여 다른 사람이 그의 생각을 읽기 힘들게 한다. 또는 상식밖의 행동하라가 핵심이다. 예를 들면 은혜를 원수로 대응한다던가. 원수를 부하로 받아들이라든가. 이런 행동으로 승자가 될 수 있다는 이상한 책이다.

    이 책을 보고 중국의 행태를 보면, 그들의 행동을 이해할 수 있다. 그러나 공감되지 않고, 대국의 행동이 아니다.

    효과 역시 상대방(국)의 예측을 벗어나야 높다. 그러나 한두번 당한 상대가 그들의 뻔뻔한 행동을 예측한다면, 그 효과는 제한적이다. 이런 시기에 후흑의 정신이 옿은가? 그렇지 않다고 본다.

    얼마전 한 사설에 중국몽에 대해 썼다. 중국이 그 발톱을 너무 일찍 드러냈다고. 지금 돌아가는 판을 보면, 미국이 중국을 죽이려고 한다. 트럼프가 또라리일지도 모르지만, 아마 그 중국의 꿈을 보고 진작에 밟아야 겠다고 했을지도 모른다. 작가가 후흑을 염두하고 그 사설을 썼음이라 생각된다. 마치 유비가 조조와 한판 결전을 위해 출전했는데, 조조가 유비의 보급선을 끊어버린 형국정도?로 생각된다.

  • 맨발의 엔지니어들

    맨발의 엔지니어들

    isbn: 9788925581798

    엔지니어의 본업에 대해 말해준다. 과학자는 새로운 발견을 한다. 엔지니어는 이를 생활에 적용 가능한 수준으로 접근성을 높인다. 이를 위해 최적화, 생산 비용 감소, 신뢰성 확보 등 다양한 노력을 한다. 새로운 발견을 여러 사람이 접근 가능한 수준까지 가격을 낮춰 준다는 점에서, 엔지니어는 존경받아 마땅하다.