Google Colaboratory에서 Python 파일 실행

소개



집에서는 Anaconda로 환경을 구축하고 통합 개발 환경(IDE)은 'Spyder'를 사용하고 있지만, 목적지에서도 하고 싶어졌기 때문에 Google Colaboratory를 사용하기로 했습니다.

환경 구축에 있어서는, 이하를 참고로 했습니다.
- Google 공동 작업 개요 및 사용 절차 (TensorFlow 및 GPU를 사용할 수 있음)
- Google Colab에서 알아야 할 사용법 – Google Colaboratory의 장점과 단점

인증 및 디렉토리 이동


  • Google 드라이브에서 공동 작업 파일을 만들고 공동 작업을 시작합니다.
  • 노트북에서 다음 코드를 입력하여 실행합니다.

  • 공동체:test.ipynb
    from google.colab import drive
    drive.mount('/content/drive')
    

    인증용 URL과 Enter your authorization code:가 표시됩니다.
    인증용 URL을 선택하고 인증을 진행하면 코드가 표시되므로 Enter your authorization code: 에 복사합니다.Mounted at /content/drive 라고 표시되면 OK입니다.
    3. 다음 코드를 입력하여 작업 디렉토리로 이동합니다. 내 드라이브 아래에 "Colaboratory"라는 폴더를 만들고 있다고 가정합니다.

    공동체:test.ipynb
    import os
    os.chdir('/content/drive/My Drive/Colaboratory/')
    

    확인으로 다음을 수행합니다. Colaboratory 아래에 있는 파일 목록이 표시되면 OK입니다.

    공동체:test.ipynb
    !ls- la
    #「!」を先頭につけることで、Linuxのコマンドが使用できます。
    

    파이썬 파일 실행



    Python 파일을 만들고 "Colaboratory"폴더에 저장합니다.
    이번에는 TensorFlow의 테스트도 겸하고 다음과 같이 합니다.

    Test.py
    import tensorflow as tf
    
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(hello))
    

    노트북에서 파일 이름을 지정하여 가져옵니다. 그뿐입니다.

    공동체:test.ipynb
    import Test
    

    다음과 같이 실행 결과가 표시됩니다.

    Colaboratory:test.ipynb:출력
    b'Hello, TensorFlow!'
    

    조심해야 할 점



    사례 1



    'Test.py'를 로컬에서 다음과 같이 다시 작성하여 Google 드라이브의 파일을 덮어씁니다.

    변경 후: Test.py
    import tensorflow as tf
    
    hello = tf.constant('Hello, TensorFlow!!!!!')
    sess = tf.Session()
    print(sess.run(hello))
    

    출력이 b'Hello, TensorFlow!!!!!! 와 같이 바뀌어야 한다! 라고 생각하거나 실행해도 아무것도 표시되지 않습니다.

    사례 2



    수업을 했다면

    Test3.py
    class Test:
        def test():
            print('Hello, Python!')
    

    공동체:test.ipynb
    from Test3 import Test
    Test.test()
    

    Colaboratory:test.ipynb:출력
    Hello, Python!
    

    이 파이썬 파일을 다음과 같이 수정하여 Google 드라이브의 파일을 덮어쓰고 실행합니다.

    변경 후: Test3.py
    class Test:
        def test():
            print('Hello, Python!!!')
    

    Colaboratory:test.ipynb:출력
    Hello, Python!
    

    출력 내용이 변경되지 않습니다. . .
    이 때문에 1 주일 정도 걸렸습니다

    아무래도, 일단 import 하면, Colaboratory 에서 캐쉬와 같이 기억하고 있는 것처럼 정상적으로 동작하지 않는 일이 있을 것 같습니다.
    이번에는 로컬에서 편집하여 GoogleDrive에 복사했지만 GoogleDrive에서 직접 Anyfile NotePad 등을 사용하여 편집한 경우도 마찬가지였습니다.

    대책



    아래에서 해결했습니다.
    - 노트북 툴바의 [런타임] - [런타임 재시작]
    둘 다 디렉토리를 다시 이동해야합니다.

    추가



    읽기 측에서 reload()를 하는 것으로 해결할 수 있었습니다.

    공동체:test.ipynb
    import Test
    import imp
    imp.reload(Test)
    

    요약



    Google Colaboratory 매우 유용하지만 노트북 외부에서 파일을 수정했다면 런타임을 다시 시작하십시오! 라는 것을 습관 짓는 것이 좋을 것 같습니다.

    Google Colaboratory GPU를 사용할 때 얼마나 빨랐는지 다음 번에! ! !

    좋은 웹페이지 즐겨찾기