muusei
@muusei

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

invalid syntaxの解決方法がわかりません

解決したいこと

画像認識アプリを作る前段階で、画像を水増ししたデータセットを作成しようとしたところ、このようなinvalid syntaxのエラーが出ました。
ちなみにgoyamanとmorizoはトレーニング画像データの入ったディレクトリでして、それぞれのディレクトリに1個ずつデータが入っています。
C:\Users\81909\OneDrive\デスクトップ\Pythonのパスにはデータセットを作成する為のコードであるaug.pyと、ディレクトリのgoyamanとmorizoが入っています。
どこが間違っているのかよくわかっていないので、もしよろしければどなたか教えて下さい。

発生している問題・エラー

Traceback (most recent call last):
File "C:\Users\81909\OneDrive\デスクトップ\Python\aug.py", line 4, in
from keras.utils import np_utils
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras_init_.py", line 3, in
from keras import internal
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras_internal__init_.py", line 3, in
from keras.internal import backend
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras_internal_\backend_init_.py", line 3, in
from keras.src.backend import initialize_variables as initialize_variables
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras\src_init
.py", line 21, in
from keras.src import applications
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras\src\applications_init_.py", line 18, in
from keras.src.applications.convnext import ConvNeXtBase
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\keras\src\applications\convnext.py", line 26, in
import tensorflow.compat.v2 as tf
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 114
def TFE_ContextOptionsSetAsync(arg1, async):
^
SyntaxError: invalid syntax

該当するソースコード

from PIL import Image
import os, glob
import numpy as np
from keras.utils import np_utils
from sklearn import model_selection
from sklearn.model_selection import train_test_split

classes = ["goyaman","morizo"]####ここで判別したいラベルを入力
num_classes = len(classes)
image_size = 128

#datesetのディレクトリ
#さっき作ったgoyaman,morizoフォルダーの直前までのパスを記入
datadir='C:/Users/81909/OneDrive/デスクトップ/Python'

#画像の読み込み
X = []
Y = []

for index, classlabel in enumerate(classes):
photos_dir = datadir+classlabel
files = glob.glob(photos_dir + "/*.jpg")
for i, file in enumerate(files):

    image = Image.open(file)
    image = image.convert("RGB")
    image = image.resize((image_size, image_size))
    #image.save("./test/{}{}.jpg".format(classlabel,i))
    data = np.asarray(image)

    for angle in range(-20, 20, 5):##5
        # 回転
        img_r = image.rotate(angle)
        data = np.asarray(img_r)
        X.append(data)
        Y.append(index)

        # 反転
        img_trans = image.transpose(Image.FLIP_LEFT_RIGHT)
        data = np.asarray(img_trans)
        X.append(data)
        Y.append(index)

X = np.array(X)
Y = np.array(Y)

#2割テストデータへ
(X_train, X_test, y_train, y_test) = train_test_split(X, Y,test_size=0.2)

#正規化
X_train = X_train.astype("float") / 255
X_test = X_test.astype("float") / 255

#教師データの型を変換
y_train = np_utils.to_categorical(y_train,num_classes)
y_test = np_utils.to_categorical(y_test, num_classes)

#X_train, X_test, y_train, y_test = model_selection.train_test_split(X, Y)
xy = (X_train, X_test, y_train, y_test)
np.save("C:/Users/81909/OneDrive/デスクトップ/Python/dataset.npy", xy)

自分で試したこと

C:/Users/81909/OneDrive/デスクトップ/Pythonの記載を、C://Users//81909//OneDrive//デスクトップ//Pythonにしたりしてもダメでした。

0

1Answer

asyncはpython3.7以降では予約語なのでエラーになります。
環境をpython3.6にダウングレードするか、
ライブラリの"C:\Users\81909\AppData\Local\Programs\Python\Python38-32\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py"の
114行目以降の変数 asyncを、「async1」などの別の名前に変えて上書きし実行してください。

0Like

Your answer might help someone💌