TensorFlow와 Keras를 사용하여 고양이와 개 사진에 대한 딥 러닝 분류기를 만듭니다.
이 글에서는 TensorFlow와 Keras를 사용하여 고양이와 개의 이미지를 구별할 수 있는 이미지 분류기를 만들어 보겠습니다. 이를 위해 TensorFlow 데이터 세트의 cats_vs_dogs 데이터 세트를 사용합니다. 데이터 세트는 25,000개의 고양이와 개 이미지로 구성되어 있으며, 그 중 80%는 훈련에, 10%는 검증에, 10%는 테스트에 사용됩니다.
데이터 로드
TensorFlow 데이터세트를 사용하여 데이터세트를 로드하는 것부터 시작합니다. 데이터 세트를 각각 데이터의 80%, 10%, 10%를 차지하는 훈련 세트, 검증 세트, 테스트 세트로 나누고 데이터 세트에 일부 샘플 이미지를 표시하는 함수를 정의합니다.
<code>import tensorflow as tfimport matplotlib.pyplot as pltimport tensorflow_datasets as tfds# 加载数据(train_data, validation_data, test_data), info = tfds.load('cats_vs_dogs', split=['train[:80%]', 'train[80%:90%]', 'train[90%:]'], with_info=True, as_supervised=True)# 获取图像的标签label_names = info.features['label'].names# 定义一个函数来显示一些样本图像plt.figure(figsize=(10, 10))for i, (image, label) in enumerate(train_data.take(9)):ax = plt.subplot(3, 3, i + 1)plt.imshow(image)plt.title(label_names[label])plt.axis('off')</code>
데이터 전처리
모델을 훈련하기 전에 데이터를 전처리해야 합니다. 이미지는 150x150 픽셀의 균일한 크기로 크기가 조정되고, 픽셀 값은 0과 1 사이에서 정규화되며, 데이터는 일괄 처리되어 일괄적으로 모델에 가져올 수 있습니다.
<code>IMG_SIZE = 150</code>
<code>def format_image(image, label):image = tf.cast(image, tf.float32) / 255.0# Normalize the pixel valuesimage = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))# Resize to the desired sizereturn image, labelbatch_size = 32train_data = train_data.map(format_image).shuffle(1000).batch(batch_size)validation_data = validation_data.map(format_image).batch(batch_size)test_data = test_data.map(format_image).batch(batch_size)</code>
모델 구축
이 기사에서는 사전 훈련된 MobileNet V2 모델을 기본 모델로 사용하고 분류를 위해 전역 평균 풀링 레이어와 압축 레이어를 추가합니다. 이 문서에서는 학습 중에 최상위 레이어 가중치만 업데이트되도록 기본 모델의 가중치를 동결합니다.
<code>base_model = tf.keras.applications.MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), include_top=False, weights='imagenet')base_model.trainable = False</code>
<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
모델 교육
이 문서에서는 3주기 동안 모델을 교육하고 각 주기 후에 검증 세트에서 모델을 검증합니다. 학습 후 모델을 저장하여 향후 테스트에 사용할 것입니다.
<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
<code>history = model.fit(train_data,epochs=3,validation_data=validation_data)</code>
Model History
Mobilenet V2 레이어가 어떻게 작동하는지 알고 싶다면 아래 그림은 이 레이어의 결과입니다.
모델 평가
학습이 완료된 후 모델은 테스트 세트에서 평가되어 새 데이터에서 어떻게 작동하는지 확인합니다.
<code>loaded_model = tf.keras.models.load_model('cats_vs_dogs.h5')test_loss, test_accuracy = loaded_model.evaluate(test_data)</code>
<code>print('Test accuracy:', test_accuracy)</code>
Prediction
마지막으로 이 기사에서는 모델을 사용하여 테스트 세트의 일부 샘플 이미지를 예측하고 결과를 보여줍니다.
<code>for image , _ in test_.take(90) : passpre = loaded_model.predict(image)plt.figure(figsize = (10 , 10))j = Nonefor value in enumerate(pre) : plt.subplot(7,7,value[0]+1)plt.imshow(image[value[0]])plt.xticks([])plt.yticks([])if value[1] > pre.mean() :j = 1color = 'blue' if j == _[value[0]] else 'red'plt.title('dog' , color = color)else : j = 0color = 'blue' if j == _[value[0]] else 'red'plt.title('cat' , color = color)plt.show()</code>
완료! TensorFlow와 Keras를 사용하여 고양이 이미지와 개 이미지를 구별할 수 있는 이미지 분류기를 만들었습니다. 일부 조정과 미세 조정을 통해 이 접근 방식을 다른 이미지 분류 문제에도 적용할 수 있습니다.
위 내용은 TensorFlow와 Keras를 사용하여 고양이와 개 사진에 대한 딥 러닝 분류기를 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











BERT는 Google이 2018년에 제안한 사전 훈련된 딥러닝 언어 모델입니다. 전체 이름은 BidirectionEncoderRepresentationsfromTransformers이며 Transformer 아키텍처를 기반으로 하며 양방향 인코딩의 특성을 가지고 있습니다. 기존 단방향 코딩 모델과 비교하여 BERT는 텍스트를 처리할 때 상황 정보를 동시에 고려할 수 있으므로 자연어 처리 작업에서 잘 수행됩니다. 양방향성을 통해 BERT는 문장의 의미 관계를 더 잘 이해할 수 있어 모델의 표현 능력이 향상됩니다. 사전 훈련 및 미세 조정 방법을 통해 BERT는 감정 분석, 이름 지정 등 다양한 자연어 처리 작업에 사용될 수 있습니다.

활성화 기능은 딥 러닝에서 중요한 역할을 하며 신경망에 비선형 특성을 도입하여 네트워크가 복잡한 입력-출력 관계를 더 잘 학습하고 시뮬레이션할 수 있도록 합니다. 활성화 함수의 올바른 선택과 사용은 신경망의 성능과 훈련 결과에 중요한 영향을 미칩니다. 이 기사에서는 일반적으로 사용되는 네 가지 활성화 함수인 Sigmoid, Tanh, ReLU 및 Softmax를 소개부터 시작하여 사용 시나리오, 장점, 단점과 최적화 솔루션은 활성화 기능에 대한 포괄적인 이해를 제공하기 위해 논의됩니다. 1. 시그모이드 함수 시그모이드 함수 공식 소개: 시그모이드 함수는 실수를 0과 1 사이에 매핑할 수 있는 일반적으로 사용되는 비선형 함수입니다. 통일하기 위해 자주 사용됩니다.

이전에 작성했던 오늘은 딥 러닝 기술이 복잡한 환경에서 비전 기반 SLAM(동시 위치 파악 및 매핑)의 성능을 향상할 수 있는 방법에 대해 논의합니다. 심층 특징 추출과 깊이 일치 방법을 결합하여 저조도 조건, 동적 조명, 질감이 약한 영역 및 심한 지터와 같은 까다로운 시나리오에서 적응을 향상하도록 설계된 다목적 하이브리드 시각적 SLAM 시스템을 소개합니다. 우리 시스템은 확장 단안, 스테레오, 단안 관성 및 스테레오 관성 구성을 포함한 여러 모드를 지원합니다. 또한 시각적 SLAM을 딥러닝 방법과 결합하여 다른 연구에 영감을 주는 방법도 분석합니다. 공개 데이터 세트 및 자체 샘플링 데이터에 대한 광범위한 실험을 통해 위치 정확도 및 추적 견고성 측면에서 SL-SLAM의 우수성을 입증합니다.

잠재 공간 임베딩(LatentSpaceEmbedding)은 고차원 데이터를 저차원 공간에 매핑하는 프로세스입니다. 기계 학습 및 딥 러닝 분야에서 잠재 공간 임베딩은 일반적으로 고차원 입력 데이터를 저차원 벡터 표현 세트로 매핑하는 신경망 모델입니다. 이 벡터 세트를 "잠재 벡터" 또는 "잠재 벡터"라고 합니다. 인코딩". 잠재 공간 임베딩의 목적은 데이터의 중요한 특징을 포착하고 이를 보다 간결하고 이해하기 쉬운 형식으로 표현하는 것입니다. 잠재 공간 임베딩을 통해 저차원 공간에서 데이터를 시각화, 분류, 클러스터링하는 등의 작업을 수행하여 데이터를 더 잘 이해하고 활용할 수 있습니다. 잠재 공간 임베딩은 이미지 생성, 특징 추출, 차원 축소 등과 같은 다양한 분야에서 폭넓게 응용됩니다. 잠재공간 임베딩이 핵심

오늘날 급속한 기술 변화의 물결 속에서 인공지능(AI), 머신러닝(ML), 딥러닝(DL)은 정보기술의 새로운 물결을 이끄는 밝은 별과도 같습니다. 이 세 단어는 다양한 최첨단 토론과 실제 적용에 자주 등장하지만, 이 분야를 처음 접하는 많은 탐험가들에게는 그 구체적인 의미와 내부 연관성이 여전히 수수께끼에 싸여 있을 수 있습니다. 그럼 먼저 이 사진을 보시죠. 딥러닝, 머신러닝, 인공지능 사이에는 밀접한 상관관계와 진보적인 관계가 있음을 알 수 있습니다. 딥러닝은 머신러닝의 특정 분야이며, 머신러닝은

2006년 딥러닝이라는 개념이 제안된 지 거의 20년이 지났습니다. 딥러닝은 인공지능 분야의 혁명으로 많은 영향력 있는 알고리즘을 탄생시켰습니다. 그렇다면 딥러닝을 위한 상위 10가지 알고리즘은 무엇이라고 생각하시나요? 다음은 제가 생각하는 딥 러닝을 위한 최고의 알고리즘입니다. 이들은 모두 혁신, 애플리케이션 가치 및 영향력 측면에서 중요한 위치를 차지하고 있습니다. 1. 심층 신경망(DNN) 배경: 다층 퍼셉트론이라고도 불리는 심층 신경망(DNN)은 가장 일반적인 딥 러닝 알고리즘으로 처음 발명되었을 때 최근까지 컴퓨팅 성능 병목 현상으로 인해 의문을 제기했습니다. 20년, 컴퓨팅 파워, 데이터의 폭발적인 증가로 돌파구가 찾아왔습니다. DNN은 여러 개의 숨겨진 레이어를 포함하는 신경망 모델입니다. 이 모델에서 각 레이어는 입력을 다음 레이어로 전달하고

1. 소개 벡터 검색은 현대 검색 및 추천 시스템의 핵심 구성 요소가 되었습니다. 복잡한 객체(예: 텍스트, 이미지, 사운드)를 수치 벡터로 변환하고 다차원 공간에서 유사성 검색을 수행하여 효율적인 쿼리 매칭 및 추천을 가능하게 합니다. 기초부터 실습까지 Elasticsearch의 개발 이력을 살펴보세요. 벡터 검색_elasticsearch 유명한 오픈 소스 검색 엔진으로서 Elasticsearch의 벡터 검색 분야 개발은 항상 많은 관심을 받아왔습니다. 본 글에서는 각 단계의 특징과 진행 상황을 중심으로 Elasticsearch 벡터 검색의 개발 역사를 검토해 보겠습니다. 기록을 가이드로 삼아 모든 사람이 전체 범위의 Elasticsearch 벡터 검색을 설정하는 것이 편리합니다.

설치 단계: 1. Miniconda를 다운로드하여 설치하고 운영 체제에 따라 적절한 Miniconda 버전을 선택한 후 공식 가이드에 따라 설치합니다. 2. "conda create -n tensorflow_env python=3.7" 명령을 사용하여 새 Conda 환경을 만듭니다. 3. Conda 환경을 활성화합니다. 4. "conda install tensorflow" 명령을 사용하여 최신 버전의 TensorFlow를 설치합니다.
