2020년 6월 16일 화요일

람다 표현식 (Lambda expression)

람다 표현식(Lambda expression) 


람다 표현식으로 함수를 정의하고, 이를 변수에 할당하여 변수를 함수처럼 사용한다.


(1) 람다 표현식


     lambda <매개변수> : 수식

     ※ 람다식을 실행하면 함수 객체가 만들어진다. 이런 함수를 익명 함수(anonymous
         function)이라고 한다.
   
     (예) lambda x : 2 * x + 1


(2) 변수에 람다 식을 할당하여 사용하는 방법

 
     >>> linear_eq = lambda x : 2 * x + 1
     >>> linear_eq(3)
     7


(3) 함수와 람다식 비교    






2020년 6월 11일 목요일

Miniconda3 + Tensorflow 2 + PyCharm

Mac에 Tensorflow2 사용 환경 설치!! 


설치과정은 https://www.youtube.com/watch?v=MpUvdLD932c 를 참고하였음. 동영상은 2020년 1월에 업로드 되었으며, 아래는 동영상 내용을 요약한 것임


  1. Miniconda3 다운로드 : 구글에서 검색 (https://docs.conda.io/en/latest/miniconda.html)

  2. Miniconda3 설치 : 설치 후 터미널을 실행시키면 (base)라는 가상환경이 동작하는 것을 확인할 수 있다.

  3. Jupyter 설치 : 터미널에서 conda install jupyter 입력하면 (base) 환경에 jupyter가 설치된다.

  4. Environment Setup Script 파일 다운로드 : https://github.com/jeffheaton/t81_558_deep_learning에서 아래로 스크롤 다운하면, tensorflow.yml이라는 파일이 보이며, 이 파일을 다운로드하여 홈디렉토리에 tensorflow.yml로 저장한다.

    <파일내용>

    name: tensorflow

    dependencies:
          - python=3.7
          - pip>=19.0
          - jupyter
          - tensorflow=2.0
          - scikit-learn
          - scipy
          - pandas
          - pandas-datareader
          - matplotlib
          - pillow
          - tqdm
          - requests
          - h5py
          - pyyaml
          - flask
          - boto3
          - pip:
                - bayesian-optimization
                - gym
                - kaggle

  5. Environment Setup Script 파일 실행 :  conda env create -v -f tensorflow.yml를 실행시키면 위 파일 내용이 설치된다. 시간이 조금 걸린다.
    conda activate tensorflow로 (tensorflow) 가상환경을 활성화 시킨다.
    conda deactivate로 (tensorflow) 가상환경을 비활성화 시킬 수 있다.

  6. (tensorflow) 가상환경에 jupyter 커널 설치 : (tensorflow) 가상환경 상태에서 python -m ipykernel install --user --name tensorflow --display-name "Python3.7 (tensorflow)"을 입력한다.

  7. jupyter notebook 실행 : 커널에서 Python3.7 (tensorflow)를 선택하면 tensorflow를 사용할 수 있다.


Mac 터미널에서 가상환경 설정 변경!! 


이렇게 Miniconda와 Tensorflow를 성공적으로 설치하고 나니, 터미널을 켤 때마다 (base) 환경이 기본적으로 설정되는 문제가 발생하였다. 

===> 해결방법 :  (base) 프롬프트 상태에서 conda config --set auto_activate_base False 를 입력하고, 터미널을 재실행 시켜주면 해결된다.



PyCharm에서 project interpreter에 tensorflow 연결하기!! 


Miniconda와 Tensorflow를 설치하고, 터미널도 이전처럼 사용할 수 있도록 만들고나니 실제 개발환경인 PyCharm에서 tensorflow 환경을 연결할 일이 남았다.


  1. PyCharm 메뉴에서 Preferences를 누르면 창이 뜨는데,

  2. 왼쪽 메뉴 중 Project 서브 메뉴인 Project Interpreter를 선택하고,

  3. 오른쪽에 Project Interpreter 선택 창 옆 [톱니바퀴 모양] 버튼을 눌러 [Add...]를 선택하면 새 창이 뜨는데,

  4. 왼쪽 메뉴에서 Virtualenv Environment를 선택하고,

  5. 오른쪽 메뉴에서 Existing Environment 라디오 버튼을 선택하고, Interpreter 선택 창의 옆 [...] 버튼을 눌러 경로를 찾는 창이 나타나면, .../miniconda3/envs/tensorflow/bin/를 찾아 python을 선택한다.
    내 맥의 경우 /Users/sangjincho/opt/miniconda3/envs/tensorflow/bin/python 으로 선택되었고, Miniconda설치 환경에 따라 경로가 바뀔 수 있다.

  6. Interpreter를 선택한 후 아래의 Make available to all projects 체크박스를 선택하여 나중에 다른 프로젝트에서도 동일한 환경을 선택할 수 있도록 한다.

  7. [OK] 버튼을 누르면 창이 닫히고, Preferences 창에 사용할 수 있는 패키지 리스트가 나타난다. 마지막으로 [OK] 버튼을 누르면 PyCharm에서 tensorflow 환경이 갖춰진다.

5번 항목에서 Miniconda 설치 위치를 확인하려면, Finder에서 홈을 선택하고 숨김파일 보기(command+shift+.)로 전환하면 .conda라는 폴더가 보이고, 그 안에  environments.txt 파일이 있는데, 거기에 내가 설치한 가상환경, 여기서는 tensorflow에 해당하는 위치가 기록되어 있다.
















람다 표현식 (Lambda expression)

람다 표현식(Lambda expression)  람다 표현식으로 함수를 정의하고, 이를 변수에 할당하여 변수를 함수처럼 사용한다. (1) 람다 표현식       lambda <매개변수> : 수식      ※ 람다식을 실행하...