��4��@�m���Ă�!?�@TensorFlow 2.0�ŐV�̏���������i�������Ҍ����j�FTensorFlow 2�{Keras�itf.keras�j�����i1/2 �y�[�W�j

TensorFlow 2.x�i2.0�ȍ~�j�ł́A���f���̏��������������ꂽ���̂́A����ł�3��ނ�API�ŁA6�ʂ�̏��������ł���B����͏��S�ҁ`�������҂ɂ����߂́ASequential���f����Functional API�̏������A�S3�ʂ�ɂ‚��Đ�������B

» 2020�N02��27�� 05��00�� ���J
[��F���F�C�f�W�^���A�h�o���e�[�W]

���̋L���͉������ł��B����o�^�i�����j����ƑS�Ă������������܂��B

uTensorFlow 2{Kerasitf.kerasjṽCfbNX

�A�ږڎ�

�@�O��܂ł̑S3���ł́A�j���[�����l�b�g���[�N�̎d�g�݂⋓����}���Ŏ����Ȃ���ATensorFlow�itf.keras�j�ɂ���{�I�Ȏ������@����������B���������ۂɂ́ATensorFlow�̏������͂��ꂾ���ł͂Ȃ��B

TensorFlow�ɂ�����A3��ށ^6�ʂ�̃��f���̏�����

3��ނ�API

�@�傫�������āA���L��3��ނ����邱�Ƃ���2���Ő����ς݂ł���B

  • Sequential�i�ϑw�^�j���f���F �R���p�N�g�ŊȒP�ȏ�����
  • Functional�i�֐��^�jAPI�F ���G�ȃ��f������`�ł���_��ȏ�����
  • Subclassing�i�T�u�N���X���j���f���F ��Փx�͏����オ�邪�A�t���J�X�^�}�C�Y���”\

�@���Ȃ݂ɁASequential���f����Functional API�́u�錾�^�v���Ӗ����邽��Symbolic API�Ƃ��Ă΂�ASubclassing���f���́u���ߌ^�v���Ӗ����邽��Imperative API�Ƃ��Ă΂��B�錾�^�Ƃ́A���f���̃��C���[��錾�I����`���邱�Ɓi������gDefine-and-Run�h�j���w���A���ߌ^�Ƃ̓t�H���[�h�v���p�Q�[�V�����i���`�d�j�����s�t�H���[�h�p�X�𖽗ߓI�ɋL�q���邱�Ɓi������gDefine-by-Run�h�j���w���i���o�b�N�v���p�Q�[�V�����̃o�b�N���[�h�p�X�͎������������j�B

6�ʂ�̃��f���̏�����

�@���A�q�ׂ�3��ނ̕��@�͑�܂��ɕ������ꍇ���BTensorFlow 2.x�i2.0�ȍ~�j�ɂ�����ŐV�̏������́A����ɍׂ���������ƁA���L��6��ނ�����i�ƕM�҂͔F�����Ă���j�B

�ySequential���f���z�i����j

�@ �i1�jtf.keras.models.Sequential�N���X���R���X�g���N�^�[���p�F �R���p�N�g�ŊȒP�ȏ������B�j���[�����l�b�g���[�N���w�т������S�҂ɂ͍ł��������ł���B��F�A�ڑ�2��

�@ �i2�jtf.keras.models.Sequential�I�u�W�F�N�g��add���\�b�h�Œlj��F �V���v�������A���_��̂��鏑�����B���S�Ҍ����B��L�̃R���X�g���N�^�[�ł͑Ή��ł��Ȃ��ꍇ�Ɏg�p

�yFunctional API�z�i����j

�@ �i3�jtf.keras.Model�N���X���R���X�g���N�^�[���p�F �_��ɋL�q�ł��邪�A�R�[�h�ʂ͑�����B���̃T�u�N���X���̕����A�R�[�h�����₷���B�������Ҍ����B�_������߂‚A���֐����m�ۂ������Ƃ��Ɏg�p

�ySubclassing���f���z�i����Ǝ��X��j

�@ �i4�jtf.keras.Model�N���X���T�u�N���X���F ���l�v�Z���C�u�����uNumPy�v���g���ċL�q����悤�Ȋ��o�ŋL�q�ł�����@�ŁA�_���g�����ɗD���B���C�u�����uPyTorch�v�ɂ��Ȃ�߂��L�q���”\�Ȃ̂ŁA�����̃��C�u�������g�����Ȃ������l��ATensorFlow�����I�Ɏg�����Ȃ������������҈ȏ�ɂ͍ł��������ł���B����A�d�_�I�ɉ������

�@ �i5�jTensorFlow�ᐅ��API���J�X�^�������F ��L�̃T�u�N���X���̃��C���[�⊈�����֐��^�����֐��^�]���֐��Ȃǂ�Ǝ��̃R�[�h�ŏ������@�BKeras�̊�{�@�\�����ł͑���Ȃ��㋉�Ҍ����B���X��ʼn������

�y�쐬�ς�Estimators�z�i���X��j

�@ �i6�jtf.estimator.Estimator���񋟂����쐬�ς݃��f���iPre-made Estimators�j�̗��p�F �ړI���Ƃɗp�ӂ��ꂽDNNRegressor�i��A�j�^DNNClassifier�i���ށj�N���X�Ȃǂ��g���ă��f�����`�ł��邪�A�Z�ʂ������Ȃ��̂ɁA�R�[�h�������Ȃ�ꍇ������B�݊����̂��߂Ɏc����Ă���i�������I�ɔp�~�����”\���������j�̂Ŕ񐄏�

�@���Ȃ݂�TensorFlow 2.0�ȍ~�ł́AKeras�itf.keras�j���u�W���̍�����API�v�ƂȂ��Ă���B�쐬�ς�Estimators��������API�ł͂��邪�A��L�̒ʂ�A�V���ȃ��f���쐬�ł͌����Ɂu�񐄏��v�ƂȂ��Ă���̂ŁAtf.keras��TensorFlow�ŗB��̍�����API�ł���B�܂��A�i5�j�́u�J�X�^�������v���A�������֐��^�����֐��^�]���֐��Ȃ�TensorFlow�̒ᐅ��API���g���ċL�q���邪�A���̃��f���⃌�C���[�́i��{�I�Ɂjtf.keras�̂��̂��T�u�N���X�����Ďg�����ƂɂȂ�i���T�u�N���X�����Ȃ��Ŏ������邱�Ƃ��s�”\�ł͂Ȃ����A��Ԃ��l����Ƃ����߂ł��Ȃ��j�B�‚܂�ATensorFlow 2.0�̏������͑S�āAtf.keras���ǂ�������Ŋ��p����Ƃ������ƂɂȂ�B

�@6�ʂ��������������ƁA�o���邱�Ƃ������āA�����������₷�����낤�B�M�҂Ƃ��ẮA���S�҂́i1�j���A�j���[�����l�b�g���[�N�𗝉������������҂ɂ́i4�j�������߂������B�������A�i4�j�ɂ���ƃg���[�h�I�t�Ńf�����b�g��������B��̓I�ɂ́A

�Ƃ��������Ƃ�����_�ɒ��ӂ��K�v���B����ł����������l����Ɓi4�j�������߂ł���B

����Ǝ���ɂ‚���

�@�{�e�ł͏�L��6�ʂ���A���̂悤�ɕ����A

�u��4��@�m���Ă�!?�@TensorFlow 2.0�ŐV�̏���������i�������Ҍ����j�v�c�c�i1�j�`�i3�j
�u��5��@�����߂́ATensorFlow 2.0�ŐV�̏���������i�G�L�X�p�[�g�����j�v�c�c�i4�j
�u��6��@�J�X�^�}�C�Y���邽�߂́ATensorFlow 2.0�ŐV�̏����������v�c�c�i5�j�`�i6�j

�̑S3��Ő�������B

TensorFlow�̃G�R�V�X�e���^�@�\�\���}

�@�Q�l�܂łɁATensorFlow�S�̂̋@�\�\���}�������Ă������B���̑S�̂́uTensorFlow�̃G�R�V�X�e���v�Ƃ��Ă΂�Ă���B

}0-1@TensorFlow̃GRVXe^@\\} �}0-1�@TensorFlow�̃G�R�V�X�e���^�@�\�\���}

�R�[�h�̏����������s���邽�߂̏���

�O�����

�@�{�A�ڂł́APython�i�o�[�W����3.6�j�ƁA�f�B�[�v���[�j���O�̃��C�u�����uTensorFlow�v�̍ŐV��2.1�𗘗p����B�܂��A�J���‹���Google Colaboratory�i�ȉ��AColab�j��p����B


Google ColabŎs
GitHubŃ\[XR[h

�@TensorFlow�̍ŐV�o�[�W�����́A���X�g0-1�̃R�}���h�ŃC���X�g�[���ł���B

# Google Colab�ōŐV��2.x���g���ꍇ�iColab��p�j
%tensorflow_version 2.x

# �ŐV�o�[�W�����ɃA�b�v�O���[�h����ꍇ
!pip install --upgrade tensorflow

# �o�[�W�����𖾎����ăA�b�v�O���[�h����ꍇ
!pip install --upgrade tensorflow===2.1.0

# �ŐV�o�[�W�������C���X�g�[������ꍇ
!pip install tensorflow

# �o�[�W�����𖾎����ăC���X�g�[������ꍇ
!pip install tensorflow===2.1.0

���X�g0-1�@�m�I�v�V�����n���C�u�����uTensorFlow�v�ŐV�o�[�W�����̃C���X�g�[��

�@�O������̒ʂ��Google Colab���g���ꍇ�́A�u%tensorflow_version 2.x�v�Ƃ����}�W�b�N�R�}���h���g�p���Ăق����i��pip�R�}���h��p�����C���X�g�[������TPU�����삵�Ȃ��A�Ƃ����񍐂����������߁j�B���̃}�W�b�N�R�}���h�����s���āuTensorFlow 2.x selected.�v�ƕ\��������OK���B�����uTensorFlow is already loaded. Please restart the runtime to change versions.�v�ƕ\�������ꍇ�́A���j���[�o�[����m�����^�C���n�|�m�����^�C�����ċN���n�����s������ŁA�ēx�A�}�W�b�N�R�}���h�̎��s���ʂ��m���߂Ăق����B

�f�[�^�ɂ‚���

�@����̓��̓f�[�^�ɂ́A���W�_�iX���W�AY���W�j�̃f�[�^���g���B���W�_�̌��ʂ��F�i1.0�j���I�����W�F�i-1.0�j�����w�K���āA�\������ł���悤�ɂ���B��1��Ŏg�����f�[�^�Ɠ����ł��邽�߁A�f�[�^�̎擾�R�[�h�̐����͊�������B

�f�B�[�v�j���[�����l�b�g���[�N�̃��f���݌v

�@����͂�����̏������ł��A���̂悤�ȃf�B�[�v�j���[�����l�b�g���[�N�̃��f����݌v���邱�ƂƂ���B

  • ���͂̐��iINPUT_FEATURES�j�́A��1����2��2��
  • �B��w�̃��C���[���́A2��
    �@�@�B��w�ɂ���1�–ڂ̃j���[�����̐��iLAYER1_NEURONS�j�́A3��
    �@�@�B��w�ɂ���2�–ڂ̃j���[�����̐��iLAYER2_NEURONS�j�́A3��
  • �o�͑w�ɂ���j���[�����̐��iOUTPUT_RESULTS�j�́A1��

�@������萔�Ƃ��āA���X�g0-2�̂悤�ɒ�`����Ƃ��悤�B

# ���C�u�����uTensorFlow�v��tensorflow�p�b�P�[�W���utf�v�Ƃ����ʖ��ŃC���|�[�g
import tensorflow as tf
from tensorflow.keras import layers       # �u���C���[�Y�v���W���[���̃C���|�[�g

# �萔�i���f����`���ɕK�v�ƂȂ鐔�l�j
INPUT_FEATURES = 2  # ���́i�����j�̐��F 2
LAYER1_NEURONS = 3  # �j���[�����̐��F 3
LAYER2_NEURONS = 3  # �j���[�����̐��F 3
OUTPUT_RESULTS = 1  # �o�͌��ʂ̐��F 1

���X�g0-2�@�C���|�[�g�ƕϐ��̐錾�i�S�Ă̏������ɋ��ʁj

�@tf.keras�Ń��f����݌v����ۂɁA���C���[�p��tf.keras.layers���O��Ԃ͂悭�g���̂ł����ŃC���|�[�g���Ă������ƂƂ���B

�@����ɁA�]���֐��Ƃ���def tanh_accuracy(y_true, y_pred)�Ƃ����֐����`���Ă������ƂƂ��邪�A��3���́u���X�g5-5�@���𗦁i���x�j�̃J�X�^���w�W�v�ʼn���ς݂Ȃ̂Ő�������������B

�@����ł͏������������̂ŁA�܂��͏������i1�j���珇�ɁA����͏������i3�j�܂ł�������悤�B

�i1�jSequential�N���X�̃R���X�g���N�^�[���p�mtf.keras - Sequential API�n

�@���̕��@�́A��2���́u���X�g4-1�@�j���[�����̃��f���݌v�v�Ɓu���X�g4-2�@�j���[�����l�b�g���[�N�̃��f���݌v�v�Ŋ��ɐ����ς݂ł���B�S�������R�[�h���Ɩʔ����Ȃ��Ǝv���̂ŁA���s�قǃR�[�h��lj������B

model = tf.keras.models.Sequential([    # ���f���̐���

  # �B��w�F1�–ڂ̃��C���[
  layers.Dense(                 # �S�����w
      input_shape=(INPUT_FEATURES,),       # ���͂̌`��i�����͑w�j
      name='layer1',                       # �\���p�ɖ��O�t��
      kernel_initializer='glorot_uniform', # �d���̏������i��l���z�̃����_���l�j
      bias_initializer='zeros',            # �o�C�A�X�̏������i0�j
      units=LAYER1_NEURONS,                # ���j�b�g�̐�
      activation='tanh'),                  # �������֐�

  # �B��w�F2�–ڂ̃��C���[
  layers.Dense(                 # �S�����w
      name='layer2',                       # �\���p�ɖ��O�t��
      kernel_initializer='glorot_uniform', # �d���̏�����
      bias_initializer='zeros',            # �o�C�A�X�̏�����
      units=LAYER2_NEURONS,                # ���j�b�g�̐�
      activation='tanh'),                  # �������֐�

  # �o�͑w
  layers.Dense(                 # �S�����w
      name='layer_out',                    # �\���p�ɖ��O�t��
      kernel_initializer='glorot_uniform', # �d���̏�����
      bias_initializer='zeros',            # �o�C�A�X�̏�����
      units=OUTPUT_RESULTS,                # ���j�b�g�̐�
      activation='tanh'),                  # �������֐�

], name='sequential_constructor'           # ���f���ɂ����O�t��
)

# �ȏ�Ń��f���݌v�͊���
model.summary()                         # ���f���̓��e���o��

���X�g1-1�@Sequential�N���X�̃R���X�g���N�^�[�𗘗p����������

�@�O��܂ł͏d�݂�o�C�A�X�Ƃ������p�����[�^�[�̏�������Keras�ɔC���Ă����B���̏ꍇ�i�‚܂�f�t�H���g�ł́j�A�d�݂́uglorot_uniform�v�iXavier Glorot�̈�l���z�ɂ����郉���_���l�F �ŏ��`�ő�͈̔͂���̓��j�b�g���Əo�̓��j�b�g�����玩���Z�o�j�ɁA�o�C�A�X�́uzero�v�i0�j�ɂȂ�B

�@����́Atf.keras.layers.Dense�N���X�̃R���X�g���N�^�[�i�����ɂ�__init__()���\�b�h�j�̈���kernel_initializer��'glorot_uniform'�Ƃ����d�݂��A����bias_initializer��'zeros'�Ƃ����o�C�A�X�𕶎���Ŏw�肵�Ă���i���Ȃ��ȍ~�̃T���v���ł́A�Z�����邽�߁Akernel_initializer�^bias_initializer�����̋L�ڂ͏ȗ�����j�B�p�����[�^�[�̏��������s���C�j�V�����C�U�[�iinitializer�j�Ƃ��ẮA�ȉ��̂��̂�������Ŏw��ł���B

  • glorot_uniform�iXavier Glorot�̈�l���z�ɂ����郉���_���l�j
  • glorot_normal�iXavier Glorot�̐��K���z�ɂ����郉���_���l�j
  • he_uniform�iHe�̈�l���z�ɂ����郉���_���l�j
  • he_normal�iHe�̐��K���z�ɂ����郉���_���l�j
  • lecun_uniform�iLeCun�̈�l���z�ɂ����郉���_���l�j
  • lecun_normal�iLeCun�̐��K���z�ɂ����郉���_���l�j

�@���ƁA�S�̓I�Ɋename�����ɖ��O���w�肵�Ă���B����ɂ��Amodel.summary()���\�b�h�̏o�͂͐}1-1�̂悤�ɁA���f���⃌�C���[�̖��O��������₷���Ȃ�B

}1-1@f̓eo �}1-1�@���f���̓��e���o��

�@�܂��A���X�g1-2�̃R�[�h�i���R�[�h���e�̐����͊����j�ɂ�胂�f���\���}��\������ƁA�}1-2�̂悤�ɕ\�������B����ɂ��w�肵�����O���\������Ă��邱�Ƃ������邾�낤�B

tf.keras.utils.plot_model(model, show_shapes=True, show_layer_names=True, to_file='model.png')
from IPython.display import Image
Image(retina=False, filename='model.png')

���X�g1-2�@���f���\���}��\������R�[�h

}1-2@f̍\}\ �}1-2�@���f���̍\���}��\��

�d�݁^�o�C�A�X�̏������w��y���p�z

�@��قǁAkernel_initializer�^bias_initializer�ɂ͕�����Ŏw�肵�����A���������J�X�^�}�C�Y�������ꍇ�����邾�낤�B�Ⴆ��'glorot_uniform'�ł͂Ȃ��A�����ʼn����Ə�����w�肵����l���z�Ń����_���l����肽���ꍇ�́Atf.keras.RandomUniform�N���X���g���ăC�j�V�����C�U�[��Ǝ��ɍ쐬����΂悢�i���X�g1-3�j�B

random_init = tf.keras.initializers.RandomUniform(
    minval=-1.0, maxval=1.0) # �����Ə�����w�肵����l���z�Ń����_���l

���X�g1-3�@�d�݁^�o�C�A�X�����������邽�߂̓Ǝ��C�j�V�����C�U�[

�@��������Đ��������C�j�V�����C�U�[��kernel_initializer=random_init�̂悤�Ɏw�肷�邾���ł���B

�w�K�Ɛ��_�F ����������i�������Ҍ����j�ŋ���

�@���f����݌v���ăC���X�^���X��������́A��3���Ɠ��l�Ɋw�K���@��ݒ肵�A�w�K���A���_�i�\���j����΂悢�i���X�g1-4�B������͈Ȍ�������Ȃ̂ŁA�R�����g�A�E�g������ԂŁA�e�u�������v�R�[�h�̍Ō�ɍڂ��Ă����j�B�܂��Aplayground-data���C�u��������̌P���p�f�[�^�Ɛ��x���ؗp�f�[�^�i�ȉ��̃R�[�h�ł́AX_train�ϐ��Ay_train�ϐ��Ȃǂɑ�����Ă���j�̎擾�ɂ‚��ẮA�`���Ŏ�����Google Colab�܂���GitHub�̃R�[�h���Q�Ƃ��Ăق����B

# �w�K���@��ݒ肵�A�w�K���A���_�i�\���j����
model.compile(tf.keras.optimizers.SGD(learning_rate=0.03), 'mean_squared_error', [tanh_accuracy])
model.fit(X_train, y_train, validation_data=(X_valid, y_valid), batch_size=15, epochs=100, verbose=1)
model.predict([[0.1,-0.2]])

���X�g1-4�@�w�K���@��ݒ�A�w�K�A���_�i�\���j����R�[�h�i���ʁj

�@���Ȃ݂ɁA���f���̏����������łȂ��A�w�K�Ɋւ���R�[�h���A���L�̂悤�ɏ������Ҍ����ƃG�L�X�p�[�g�����ɕ������B

  • �������Ҍ����̏������F ���X�g1-4�̂悤��compile()��fit()���\�b�h���Ăяo���A�ȒP�Ŏ�y�ȏ�����
  • �G�L�X�p�[�g�����̏������F ����������邪�Atf.GradientTape�N���X�i���������̋L�^�@�\�j���g�����_��Ŋg�����̍����������iPyTorch�̏������ɋ߂��j

�쐬�ς݃��f���̃��Z�b�g

�@��قǂ�model�Ƃ����ϐ����Ń��f���𐶐������B���������r���₷���悤�ɁA�ȍ~��model�Ƃ����ϐ������g���B�������񃂃f�����폜���ă��Z�b�g�������ꍇ�́A���X�g1-5�̃R�[�h�����s���Ăق����i���R�[�h���ɋL�ڂ����u�v�Z�O���t�v�Ƃ́A�v�Z�̉ߒ��i�f�[�^�t���[�j��\�������O���t�̂��ƂŁA���f����݌v�������Ƃɂ�胉�C�u���������Ŏ����I�ɍ\�z����Ă���BTensorBoard�Ƃ����c�[���ɂ���ăf�[�^�t���[�O���t�����o�I�Ɋm�F�ł���j�B

tf.keras.backend.clear_session() # �v�Z�O���t��j������
del model                        # �ϐ����폜����

���X�g1-5�@���ɐi�ޑO�Ƀ��f�������Z�b�g����R�[�h

�@�ȏ�ŁA�������i1�j�̐������I���Ƃ���B���̃y�[�W�ł́A�������i2�j�Ɓi3�j�ɂ‚��Đ�������B

�i2�jSequential�I�u�W�F�N�g��add���\�b�h�Œlj��mtf.keras - Sequential API�n

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright© Digital Advantage Corp. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B