고밀도 레이어와 함께 TensorFlow Dataset API를 사용하는 방법

KonArtist

TensorFlow 문서에 표시된 입력 파이프 라인에 대해 Dataset API를 시도 하고 있으며 거의 ​​동일한 코드를 사용합니다.

tr_data = Dataset.from_tensor_slices((train_images, train_labels))
tr_data = tr_data.map(input_parser, NUM_CORES, output_buffer_size=2000)
tr_data = tr_data.batch(BATCH_SIZE)
tr_data = tr_data.repeat(EPOCHS)

iterator = dataset.make_one_shot_iterator()
next_example, next_label = iterator.get_next()

# Script throws error here
loss = model_function(next_example, next_label)

with tf.Session(...) as sess:
    sess.run(tf.global_variables_initializer())

     while True:
        try:
            train_loss = sess.run(loss)
        except tf.errors.OutOfRangeError:
            print("End of training dataset.")
            break

느린 feed_dicts를 사용하지 않기 때문에 더 빨라야합니다. 그러나 단순화 된 LeNet 아키텍처 인 내 모델에서는 작동하도록 만들 수 없습니다. 문제는 (가)입니다 tf.layers.dense내에서 model_function()어떤 알려진 입력 형태 (이 사전에 무게의 수를 알고 있기 때문에 내가 추측) 기대하고있다. 그러나 next_examplenext_label단지 세션을 실행하여 자신의 모양을 얻을. 평가하기 전에 모양이 정의되지 않았습니다.?

선언하면 model_function()다음 오류가 발생합니다.

ValueError : 입력의 마지막 차원을 Dense정의해야합니다. 을 찾았습니다 None.

지금은이 Dataset API를 의도 한 방식으로 사용하고 있는지 아니면 해결 방법이 있는지 모르겠습니다.

미리 감사드립니다!

편집 1 : 아래는 내 모델이며 첫 번째 고밀도 레이어에서 오류가 발생합니다.

def conv_relu(input, kernel_shape):
    # Create variable named "weights".
    weights = tf.get_variable("weights", kernel_shape,
        initializer=tf.random_normal_initializer())
    # Create variable named "biases".
    biases = tf.get_variable("biases", kernel_shape[3],
        initializer=tf.constant_initializer(0.0))
    conv = tf.nn.conv2d(input, weights,
        strides=[1, 1, 1, 1], padding='VALID')
    return tf.nn.relu(conv + biases)

def fully(input, output_dim):
    assert len(input.get_shape())==2, 'Wrong input shape, need flattened tensor as input'
    input_dim = input.get_shape()[1]

    weight = tf.get_variable("weight", [input_dim, output_dim],
        initializer=tf.random_normal_initializer())
    bias = tf.get_variable('bias', [output_dim],
        initializer=tf.random_normal_initializer())

    fully = tf.nn.bias_add(tf.matmul(input, weight), bias)
    return fully


def simple_model(x):

    with tf.variable_scope('conv1'):
        conv1 = conv_relu(x, [3,3,1,10])
        conv1 = tf.nn.max_pool(conv1,[1,2,2,1],[1,2,2,1],'SAME')

    with tf.variable_scope('conv2'):
        conv2 = conv_relu(conv1, [3,3,10,10])
        conv2 = tf.nn.max_pool(conv2,[1,2,2,1],[1,2,2,1],'SAME')

    with tf.variable_scope('conv3'):
        conv3 = conv_relu(conv2, [3,3,10,10])
        conv3 = tf.nn.max_pool(conv3,[1,2,2,1],[1,2,2,1],'SAME')

    flat = tf.contrib.layers.flatten(conv3)
    with tf.variable_scope('fully1'):
        fully1 = tf.layers.dense(flat, 1000)
        fully1 = tf.nn.relu(fully1)

    with tf.variable_scope('fully2'):
        fully2 = tf.layers.dense(fully1, 100)
        fully2 = tf.nn.relu(fully2)

    with tf.variable_scope('output'):
        output = tf.layers.dense(fully2, 4)
        fully1 = tf.nn.relu(output)


    return output

편집 2 :

여기에서 텐서의 인쇄물을 볼 수 있습니다. next_example에는 모양이 없습니다.

next_example : Tensor ( "IteratorGetNext : 0", dtype = float32)
next_label : Tensor ( "IteratorGetNext : 1", shape = (?, 4), dtype = float32)

KonArtist

직접 답을 찾았습니다.

스레드를 따르는 쉬운 수정은 tf.Tensor.set_shape미리 이미지 크기를 알고 있는 경우 모양을 설정하는 것 입니다.

def input_parser(img_path, label):

    # read the img from file
    img_file = tf.read_file(img_path)
    img_decoded = tf.image.decode_image(img_file, channels=1)
    img_decoded = tf.image.convert_image_dtype(img_decoded, dtype=tf.float32)
    img_decoded.set_shape([90,160,1]) # This line was missing

    return img_decoded, label

tensorflow 문서에이 줄이 포함되어 있으면 좋았을 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

tensorflow-dataset API와 함께 tensorflow-hub 모듈을 사용하는 방법

Keras와 함께 Tensorflow 2 Dataset API를 사용하는 방법은 무엇입니까?

TensorFlow.js의 maxPooling 레이어와 함께 optimizer.minimize를 사용하는 방법

TensorFlow에서 Concatenate와 함께 TimeDistributed 레이어를 사용하는 방법은 무엇입니까?

MonitoredTrainingSession과 함께 Tensorflow Dataset API의 피드 가능 반복기를 사용하는 방법은 무엇입니까?

Flask와 함께 TensorFlow를 사용하는 방법

노드 js와 함께 tensorflow를 사용하는 방법이 있습니까?

Tensorflow 2.0에서 Keras 입력 레이어와 함께 tf.data.Dataset 사용

후크와 함께 API 데이터 해상도를 사용하는 방법

Highmaps와 함께 국가 및 호수와 함께 다중 레이어 지도를 사용하는 방법은 무엇입니까?

Tensorflow : Tensorflow의 Dataset API를 사용하여 TIFF 이미지를 사용하는 방법은 무엇입니까?

각도 1.3.4와 각도 2를 함께 사용하는 방법

Fela와 함께 redux를 사용하고 반응하는 방법?

Tensorflow에서 반복기와 함께 tf.datasets를 사용하는 방법

Tensorflow의 ImageDataGenerator와 함께 Scikit-Learn의 RandomizedSearchCV를 사용하는 방법

Tensorflow 2: keras 기능 API에서 고밀도 레이어 스택을 사용하는 방법은 무엇입니까?

각도기와 함께 Jasmine 및 CucumberJS를 사용하는 방법

지도와 함께 vis.js를 사용하는 방법

Primereact와 함께 Google 지도를 사용하는 방법

$ SHELL 변수를 물고기와 함께 사용하는 방법?

장고와 함께 Gulp Browsersync를 사용하는 방법?

keras Sequential API와 함께 기본 tf Attention 레이어를 사용하는 방법이 있습니까?

Oauth와 함께 magento REST API와 함께 POSTMAN 나머지 클라이언트를 사용하는 방법. 토큰 및 토큰 비밀을 얻는 방법?

html/css에 레이어가 있고 불투명도와 함께 사용하는 방법은 무엇입니까?

webAPI와 함께 각도 7을 사용하여 비밀번호를 재설정하는 방법

JAVA와 함께 AWS Route 53 API를 사용하여 도메인 이름 가용성을 확인하는 방법

API와 함께 jsonp 콜백 함수를 사용하는 방법

react-fontawesome과 함께 레이어를 사용하는 방법

Tensorflow의 Dataset API를 사용하여 데이터를 여러 GPU 타워로 이동하는 방법

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관