콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

인구 데이터로 년 수입 예측, 2차

sparse_tensor_to_dense

전에 이어서…
각 행의 feature를 sparse tensor로 받아 들인다. tutorial에는 값을 확인하는 부분이 없다. 내가 입력한 값이 정확한지 이를 어떻게 확인해야 하는지? print로 확인을 하면 좋은데, sparse tensor를 print 하면 대략 형식에 대한 값들만 출력이 된다.

SparseTensor(indices=Tensor("SparseTensor_1/indices:0", shape=(32561, 2), dtype=int64), values=Tensor("SparseTensor_1/values:0", shape=(32561,), dtype=string), dense_shape=Tensor("SparseTensor_1/dense_shape:0", shape=(2,), dtype=int64))

크게 3개로 구성된다. 각 항목의 type은 tensor이다.
1. indeces에 대한 정의
2. values에 대한 정의
3. dense_shape에 대한 정의

sparse_tensor_to_dense 함수가 sparse tensor를 어떻게 되어있는지 출력한다. sparse_tensor_to_dense의 입력 파라미터로 1. sparse tensor 이름, 2.default_value를 받는다. feature column으로 만든 sparse tensor는 values에 대한 data type이 string, int64 등 여러 종류가 있다. 정의된 values가 int64인데 default_value를 string을 쓰면 에러가 난다. 그래서 각 sparse tensor의 values에 대한 항목을 뽑고, 다시 dtype을 뽑아내어 각 항목에 맞는 default_value를 넣어버렸다.
아래와 같이 구현했다.

with tf.Session() as sess:

    for i in feature:
        print i
        print feature[i]
        print feature[i].values.dtype
        if(tf.string == feature[i].values.dtype):
            print "type string"
            y_tensor = tf.sparse_tensor_to_dense(sp_input = feature[i], default_value='x')
        if(tf.int64 == feature[i].values.dtype):
            print "type int64"
            y_tensor = tf.sparse_tensor_to_dense(sp_input = feature[i], default_value=0)
        else :
            print "different"
        print y_tensor
        print y_tensor.eval()

이렇게 실행하면 아래의 결과를 얻는다.

gender
SparseTensor(indices=Tensor("SparseTensor/indices:0", shape=(32561, 2), dtype=int64), values=Tensor("SparseTensor/values:0", shape=(32561,), dtype=string), dense_shape=Tensor("SparseTensor/dense_shape:0", shape=(2,), dtype=int64))
<dtype: 'string'>
type string
different
Tensor("SparseToDense:0", shape=(32561, 1), dtype=string)
[['Male']
 ['Male']
 ['Male']
 ..., 
 ['Female']
 ['Male']
 ['Female']]
age
SparseTensor(indices=Tensor("SparseTensor_3/indices:0", shape=(32561, 2), dtype=int64), values=Tensor("SparseTensor_3/values:0", shape=(32561,), dtype=int64), dense_shape=Tensor("SparseTensor_3/dense_shape:0", shape=(2,), dtype=int64))
<dtype: 'int64'>
type int64
Tensor("SparseToDense_1:0", shape=(32561, 1), dtype=int64)
[[39]
 [50]
 [38]
 ..., 
 [58]
 [22]
 [52]]
education
SparseTensor(indices=Tensor("SparseTensor_1/indices:0", shape=(32561, 2), dtype=int64), values=Tensor("SparseTensor_1/values:0", shape=(32561,), dtype=string), dense_shape=Tensor("SparseTensor_1/dense_shape:0", shape=(2,), dtype=int64))
<dtype: 'string'>
type string
different
Tensor("SparseToDense_2:0", shape=(32561, 1), dtype=string)
[['Bachelors']
 ['Bachelors']
 ['HS-grad']
 ..., 
 ['HS-grad']
 ['HS-grad']
 ['HS-grad']]
relationship
SparseTensor(indices=Tensor("SparseTensor_2/indices:0", shape=(32561, 2), dtype=int64), values=Tensor("SparseTensor_2/values:0", shape=(32561,), dtype=string), dense_shape=Tensor("SparseTensor_2/dense_shape:0", shape=(2,), dtype=int64))
<dtype: 'string'>
type string
different
Tensor("SparseToDense_3:0", shape=(32561, 1), dtype=string)
[['Not-in-family']
 ['Husband']
 ['Not-in-family']
 ..., 
 ['Unmarried']
 ['Own-child']
 ['Wife']]

이 글 공유하기:

  • Tweet
발행일 2017-04-17글쓴이 이대원
카테고리 tensorflow 태그 tensorflow

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

BMW 어린이 운전교육

다음 글

민수가 그린 그림

2025 5월
일 월 화 수 목 금 토
 123
45678910
11121314151617
18192021222324
25262728293031
4월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.