커리어리 친구들, 텐서플로 2.7가 오늘 공개 되었습니다. 뭐가 바뀌었나구요? 더 명확한 오류 메시지, 단순화된 스택 추적으로 사용성을 개선하고 TF2로 마이그레이션하는 사용자를 위한 새로운 도구와 문서를 추가했네요! 그렇다면, 좀더 상세히 알아볼까요? 😻 향상된 디버깅 경험 코드 디버깅 프로세스는 머신러닝 프레임워크의 사용자 경험의 기본적인 부분이라고 볼 수 있는 데, 이번 릴리스에서는 단순화된 스택 추적, 커스텀 케라스 레이어에서 발생하는 오류에 대한 추가 컨텍스트 정보 표시, 케라스 및 텐서플로의 모든 오류 메시지 , 광범위한 감사의 세 가지 주요 변경 사항을 통해 텐서플로 디버깅 경험을 훨씬 더 생산적이고 즐겁게 만들 수 있도록 개선했습니다. 😻 단순화된 스택 추적 텐서플로는 이제 기본적으로 오류 발생 시 표시되는 스택 추적을 필터링하여 텐서플로의 내부 코드에서 시작된 모든 프레임을 숨기고 사용자에게 중요한 정보인 사용자 자신의 코드에 초점을 맞춘 정보를 유지합니다. 이렇게 하면 스택 추적이 더 간단하고 짧아지며 코드의 문제를 더 쉽게 이해하고 수정할 수 있습니다. 😻 케라스 레이어 예외에 대한 자동 컨텍스트 주입 저수준 코드를 작성하는 가장 일반적인 사용 사례 중 하나는 커스텀 케라스 레이어를 만드는 것이므로 레이어 디버깅을 가능한 한 쉽고 생산적으로 만들었습니다. 그러한 레이어를 디버깅할 때 가장 먼저 하는 일은 입력의 타입과 dtype과 훈련 및 마스크 파라미터의 값을 print 하는 것입니다. 이제 이 정보를 커스텀 케라스 레이어에서 발생하는 모든 스택 추적에 자동으로 추가합니다. 😻 TensorFlow 및 Keras 코드베이스의 모든 오류 메시지 감사 및 개선 마지막으로 수천 개의 오류 위치가 Keras 및 TensorFlow 코드베이스의 모든 오류 메시지를 감사하고 UX 모범 사례를 따르도록 개선했습니다. 좋은 오류 메시지는 프레임워크가 예상한 것과 프레임워크의 기대와 일치하지 않는 작업을 알려야 하며 문제를 해결하기 위한 팁을 제공해야 합니다. 😻 tf.function 오류 메시지 개선 사용자 코드에 오류 소스를 가리키는 역추적을 포함하여 런타임 오류 메시지와 "그래프" 텐서 오류 메시지의 두 가지 일반적인 유형의 tf.function 오류 메시지를 개선했습니다. 그 밖에 모호하고 부정확한 tf.function 오류 메시지에 대해서도 더 명확하고 정확하도록 업데이트했습니다. 😻 tf.experimental.ExtensionType 소개 사용자 정의 유형을 사용하면 프로젝트를 더 읽기 쉽고 모듈식으로 유지 관리할 수 있습니다. TensorFlow 2.7.0에는 TensorFlow의 API와 원활하게 작동하는 사용자 정의 객체 지향 유형을 만드는 데 사용할 수 있는 ExtensionType API가 도입되었습니다. 확장 유형은 복잡한 모델에서 사용하는 텐서를 추적하고 구성하는 좋은 방법입니다. 확장 유형은 "텐서"의 기본 개념을 전문화하거나 확장하는 새로운 텐서 유형을 정의하는 데 사용할 수도 있습니다. 확장 유형을 생성하려면 tf.experimental.ExtensionType을 기반으로 하는 Python 클래스를 정의하고 유형 주석을 사용하여 각 필드의 유형을 지정하기만 하면 됩니다. 또한, tf.experimental 접두사는 이것이 새로운 API임을 나타내며 실제 사용에서 피드백을 수집합니다. 예상치 못한 디자인 문제가 없는 한 TF 실험 정책에 따라 실험 패키지에서 ExtensionType을 마이그레이션할 계획입니다. 😻 TF2 마이그레이션이 더 쉬워졌습니다! TF1에서 TF2로 워크로드를 마이그레이션하는 데 관심이 있는 사용자를 지원하기 위해 TensorFlow 웹사이트에 새로운 Migrate to TF2 탭을 만들었습니다. 여기에는 업데이트된 가이드와 Colab에서 구체적이고 실행 가능한 예제가 포함된 완전히 새로운 문서가 포함되어 있습니다. 또한, variable_scope 기반 모델을 TF2로 쉽게 마이그레이션할 수 있는 새로운 shim 도구가 추가되었습니다. 대부분의 TF1 사용자는 모델링 코드를 다시 작성할 필요 없이 TF2 파이프라인에서 기존 모델 아키텍처를 있는 그대로(또는 약간만 조정하여) 실행할 수 있습니다. 모델 매핑 가이드에서 자세히 알아볼 수 있습니다. 😻 TensorFlow Hub의 새로운 커뮤니티 기여 모델 텐서플로 릴리스 이후로 커뮤니티는 TensorFlow Hub에서 사용할 수 있는 많은 새 모델을 만들기 위해 정말 뭉쳤습니다. 이제 MLP-Mixer, Vision Transformers, Wav2Vec2, RoBERTa, ConvMixer, DistillBERT, YoloV5 등과 같은 모델을 찾을 수 있습니다. 이 모든 모델은 TensorFlow Hub를 통해 사용할 준비가 되었습니다. 🙏 큐레이터 한 줄평 바로 프로젝트에 적용하진 못하겠지만 몇몇의 디버깅 보강할 수 있기 때문에 반드시 가상 환경에서 케이스별 테스트를 해보고 적용해보시기 바랍니다. 그렇지 않으면, 원인 모를 에러 때문에 밤을 새워도 해결하지 못하거나 인터넷 개발자 포럼에서 항해를 하고 있는 자신을 발견하게 될 것 입니다. 그리고 아직 M1 Pro/Max 성능에 최적화를 어떻게 했는지에 대한 설명이 없으니 이 점도 참고 하시기 바랍니다. 그외 자세한 사항은 텐서플로 블로그를 참고해 주세요!

What's new in TensorFlow 2.7?

Tensorflow

What's new in TensorFlow 2.7?

2021년 11월 16일 오전 1:42

댓글 0