Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 선형 모델을 훈련하는 데 TensorFlow를 어떻게 사용할 수 있습니까?


Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다.

'tensorflow' 패키지는 아래 코드 줄을 사용하여 Windows에 설치할 수 있습니다 -

pip 설치 텐서플로

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다. 세 가지 주요 속성을 사용하여 식별할 수 있습니다.

Rank - 텐서의 차원에 대해 알려줍니다. 텐서의 순서 또는 정의된 텐서의 차원 수로 이해할 수 있습니다.

Type - Tensor의 요소와 관련된 데이터 유형에 대해 알려줍니다. 1차원, 2차원 또는 n차원 텐서일 수 있습니다.

모양 - 행과 열의 개수입니다.

코드를 실행하기 위해 Jupyter Notebook을 사용할 것입니다. TensorFlow는 'pip install tensorflow'를 사용하여 Jupyter Notebook에 설치할 수 있습니다.

Python을 사용하여 선형 모델을 훈련하는 데 TensorFlow를 어떻게 사용할 수 있습니까?

다음은 코드입니다 -

텐서플로우를 tfA =tf.get_variable("A", initializer=tf.constant([0.1]))b =tf.get_variable("b", initializer=tf.constant([0.0]))x =로 가져오기 tf.placeholder(tf.float32)y =tf.placeholder(tf.float32)my_model =A * x + blossVal =tf.reduce_sum(tf.square(my_model - y))my_optimizer =tf.train.GradientDescentOptimizer(0.01)train =my_optimizer.minimize(lossVal)x_train =[1.0, 2.5, 3.8, 4.9]y_train =[1.7, 3.0, 6.6, 6.8]tf.Session()을 sess로 사용:sess.run(tf.global_variables_initializer()) for i in range(1000):sess.run(train, {x:x_train, y:y_train}) if i%100==0:l_cost =sess.run(lossVal, {x:x_train, y:y_train}) print( f"i:{i} 비용:{l_cost}") l_A, l_b, l_cost =sess.run([A, b, lossVal], {x:x_train, y:y_train}) print(f"A:{l_A } b:{l_b} 비용:{l_cost}")

출력

 i :0 비용 :1.7808341979980469I :100 비용 :1.6947696208953857i :200 비용 :1.691591501595962i :300 비용 :1.6913959980010986I :400 비용 :1.691384347000122i :500 비용 :1.6913840770721436i :600 비용 :1.6913843154907227i :700 비용 :700 비용 :1.691383719444275i:800 비용:1.6913838386535645i:900 비용:1.6913845539093018A:[1.4599526] b:0.291447 

설명

  • 필요한 패키지를 가져오고 쉽게 사용할 수 있도록 별칭을 제공합니다.

  • 선형 모델의 일반 형식을 저장하는 'my_model'이라는 변수가 정의되었습니다.

  • 이 선형 모델은 'GradientDescentOptimizer'를 사용하여 학습됩니다.

  • '최소화' 방식을 사용하여 손실을 최소화하도록 훈련합니다.

  • 훈련 데이터를 저장하는 두 개의 목록이 생성됩니다.

  • 이 데이터는 훈련되고 예측된 값은 콘솔에 표시됩니다.