-
글쓴이글
-
2021년 12월 29일 11:24 #23193
백창현참가자안녕하세요 정말 재미있게 수강하고있습니다 .. 공부하던 도중 막혀서 질문올립니다,
이미지 증강에서 오류가 발생합니다. 원래 모델은 잘 돌아가고, 새로운 세줄을 추가하면 summary까지는 오류없이 됩니다.
그런데 fit을 하게되면 오류발생합니다. 아래 코드와 오류메세지 입니다.
컴퓨터는 M1 Max의 mental GPU로 공부하고있습니다.
코드
# 2번방법으로 증강한 모델
model=tf.keras.Sequential([
tf.keras.layers.experimental.preprocessing.RandomFlip('horizontal',input_shape=(64,64,3) ), # 랜덤으로 가로로 뒤집어줌 .
tf.keras.layers.experimental.preprocessing.RandomRotation(0.1), # 랜덤으로 회전
tf.keras.layers.experimental.preprocessing.RandomZoom(0.1), # 랜덤으로 줌
tf.keras.layers.Conv2D(32,(3,3),padding="same",activation='relu',input_shape=(64,64,3) ), # kernel사이즈는 3*3으로 32개의 다른 특징을생성해주셈
tf.keras.layers.MaxPool2D( (2,2) ), # pooling 사이즈 3*3으로 뽑은 이미지를 한번더 2*2로
tf.keras.layers.Conv2D(64,(3,3),padding="same",activation='relu'),
tf.keras.layers.MaxPool2D( (2,2) ),
tf.keras.layers.Dropout(0.2), # 오버피팅을 줄이기위해 윗 레이어 노드의 일부(20%)를 제거해줌
tf.keras.layers.Conv2D(128,(3,3),padding="same",activation='relu'),
tf.keras.layers.MaxPool2D( (2,2) ),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128,activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(64,activation='relu'),
tf.keras.layers.Dense(1,activation="sigmoid"),
])
model.summary()
model.compile(loss='binary_crossentropy',optimizer='adam', metrics=['accuracy'])
model.fit(train_ds, validation_data=val_ds, epochs=5)오류코드,
InvalidArgumentError: Cannot assign a device for operation sequential_9/random_flip_7/stateful_uniform_full_int/RngReadAndSkip: Could not satisfy explicit device specification '' because the node {{colocation_node sequential_9/random_flip_7/stateful_uniform_full_int/RngReadAndSkip}} was colocated with a group of nodes that required incompatible device '/job:localhost/replica:0/task:0/device:GPU:0'. All available devices [/job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:GPU:0].
Colocation Debug Info:
Colocation group had the following types and supported devices:
Root Member(assigned_device_name_index_=2 requested_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' assigned_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' resource_device_name_='/job:localhost/replica:0/task:0/device:GPU:0' supported_device_types_=[CPU] possible_devices_=[]
RngReadAndSkip: CPU
_Arg: GPU CPUColocation members, user-requested devices, and framework assigned devices, if any:
sequential_9_random_flip_7_stateful_uniform_full_int_rngreadandskip_resource (_Arg) framework assigned device=/job:localhost/replica:0/task:0/device:GPU:0
sequential_9/random_flip_7/stateful_uniform_full_int/RngReadAndSkip (RngReadAndSkip)[[{{node sequential_9/random_flip_7/stateful_uniform_full_int/RngReadAndSkip}}]] [Op:__inference_train_function_23085]
In [ ]:
2021년 12월 29일 17:09 #23217
codingapple키 마스터GPU를 지원하지 않는 레이어라 그런 것 같습니다 CPU에서 연산하도록
tf.config.set_visible_devices([], 'GPU')
이런걸 맨 위에 적거나
tensorflow 버전 높으면 experimental 어쩌구를 지우고
tf.keras.layers.RandomFlip()
이렇게 공식 설명서대로 써보거나 합시다
-
글쓴이글
- 답변은 로그인 후 가능합니다.