質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Q&A

解決済

1回答

719閲覧

CNNで画像の分類に用いるモデルを構築したいがエラーが出る

ponponn

総合スコア2

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

0グッド

0クリップ

投稿2020/08/26 16:31

前提・実現したいこと

犬猫認識をtensorflowで動かそうとしています。

KaggleからDLしたデータをTFRecordにデータを保存しました。
そして次にCNNによるモデル構築をするところでエラーが出ます。

発生している問題・エラーメッセージ

python

1 2with tf.name_scope('layer1'): 3 conv1 = tf.conv2d(X, filters=32, kernel_size=4, strides=1, activation=tf.nn.relu, name='conv1') 4 pool1 = tf.nn.max_pool(conv1, ksize=[1,2,2,1], strides=[1,2,2,1], padding='VALID', name='pool1') 5

AttributeError: module 'tensorflow' has no attribute 'conv2d'

と出ます。犬猫認識をtensorboardで可視化までするのを目標としていて、
参考としている記事等がtensorflow1.Xのバージョンのためだと考えています。ver2.Xからの初心者のため対応が分かりません。

TFRecordにデータを保存するところまでは2.Xで動くよう修正できましたが、CNNの工程で躓きました、、、
どこを変えればいいのかご教授願います。

TFRecordにデータを保存までのコード

import numpy as np import tensorflow as tf import os import glob cat_dir ='C:\Users\...\Downloads\23777_30378_bundle_archive\training_set\training_set\cats\' dog_dir ='C:\Users\...\Downloads\23777_30378_bundle_archive\training_set\training_set\dogs\' image_paths = [] labels = [] for fname in os.listdir(cat_dir): if '.jpg' in fname: image_paths.append(cat_dir + fname) labels.append(1) for fname in os.listdir(dog_dir): if '.jpg' in fname: image_paths.append(dog_dir + fname) labels.append(0) shuffle_ind = np.random.permutation(len(labels)) image_paths = np.array(image_paths)[shuffle_ind] labels = np.array(labels)[shuffle_ind] def _bytes_feature(value): return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) def _float_feature(value): return tf.train.Feature(float_list=tf.train.FloatList(value=[value])) def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) import io from PIL import Image with tf.io.TFRecordWriter('training_data.tfrecords') as writer: for fname, label in zip(image_paths[:-1000], labels[:-1000]): image = Image.open(fname) image_np = np.array(image) image_shape = image_np.shape image = open(fname, 'rb').read() feature = { 'height' : _int64_feature(image_shape[0]), 'width' : _int64_feature(image_shape[1]), 'channel' : _int64_feature(image_shape[2]), 'image_raw' : _bytes_feature(image), 'label' : _int64_feature(label) } tf_example = tf.train.Example(features=tf.train.Features(feature=feature)) writer.write(tf_example.SerializeToString()) with tf.io.TFRecordWriter('test_data.tfrecords') as writer: for fname, label in zip(image_paths[-1000:], labels[-1000:]): image = Image.open(fname) image_np = np.array(image) image_shape = image_np.shape image = open(fname, 'rb').read() feature = { 'height' : _int64_feature(image_shape[0]), 'width' : _int64_feature(image_shape[1]), 'channel' : _int64_feature(image_shape[2]), 'image_raw' : _bytes_feature(image), 'label' : _int64_feature(label) } tf_example = tf.train.Example(features=tf.train.Features(feature=feature)) writer.write(tf_example.SerializeToString())

試したこと

kerasを用いるのかなと考えております。

補足情報(FW/ツールのバージョンなど)

Anaconda3
tensorflow2.3.0
現在参考にしている記事
訓練の工程でsessを使っているので、この段階でも修正が必要だろうと予想しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

tf.conv2dはtensorflow2.3.0ではtf.nn.conv2dのように使うようです。

Tensorflow ドキュメント:https://www.tensorflow.org/api_docs/python/tf/nn/conv2d

投稿2020/08/27 02:44

Yhaya

総合スコア439

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問