Seite 1 von 1

SyntaxError invalid syntax durch !find

Verfasst: Dienstag 12. Februar 2019, 21:22
von CodeIt
Hallo, ich versuche eine CNN zu implementieren und erhalte einen SyntaxError mit der Meldung "invalid Syntax".

Dabei wird in folgender Zeile das Ausrufezeichen "!" rot markiert:

Code: Alles auswählen

beispiel_bilder = !find($train_image_files_path -type f -name "*.jpg"

Der Code wurde ursprünglich mit einen JupyterNotebook geschrieben, aber nicht von mir, ich habe diesen lediglich kopiert. Ich erhalte zusätzlich noch beim Idle die Meldung "Using TensorFlow backend". Kann das damit zusammenhängen?


Code: Alles auswählen

import cv2
import numpy as np
import pandas as pd
import random
import matplotlib.pyplot as plt
#matplotlib inline

# image processing
from keras.preprocessing import image as image_utils
from keras.preprocessing.image import img_to_array

# build your own nets
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten, Conv2D, MaxPooling2D
from keras.optimizers import RMSprop
from keras.layers.normalization import BatchNormalization
from keras.layers.advanced_activations import LeakyReLU

train_image_files_path = "c://Python35/workspace/fruits/fruits-360/Training/"
valid_image_files_path = "c://Python35/workspace/fruits/fruits-360/Test/"

fruit_list = ["Kiwi", "Banana", "Apricot", "Avocado", "Cocos", "Clementine", "Mandarine", "Orange",
              "Limes", "Lemon", "Peach", "Plum", "Raspberry", "Strawberry", "Pineapple", "Pomegranate"]

output_n = len(fruit_list)
img_width = 20
img_height = 20
channels = 3

batch_size = 32
epochs = 5

beispiel_bilder = !find($train_image_files_path -type f -name "*.jpg"

Re: SyntaxError invalid syntax durch !find

Verfasst: Dienstag 12. Februar 2019, 21:26
von __deets__
Jupyter notebook hat offensichtlich spezialsyntax. Das geht dann in purem Python nicht. Du musst dir die Bilder selbst zusammensammeln.

Re: SyntaxError invalid syntax durch !find

Verfasst: Dienstag 12. Februar 2019, 21:31
von sparrow
In der beanstandeten Zeile fehlt auf jeden Fall eine schließende Klammer.
Bis zur letzten Zeile sieht auch alles nach Python aus. !find ist nicht Python und auch die Benutzung der Variabel mit "$" sieht eher nach einer anderen Sprache aus.

Re: SyntaxError invalid syntax durch !find

Verfasst: Dienstag 12. Februar 2019, 21:45
von __blackjack__
IPython/Jupyter-Notebook benutzt das ! als Escape für etwas was in einer Shell des Betriebssystems ausgeführt werden soll. Die öffnende Klammer gehört da nicht hin und es ist das Unix/Linux ``find`` was da ausgeführt wird. Zudem muss es eine Umgebungsvariable mit dem Namen ``$train_image_files_path`` geben, damit das funktioniert.

Re: SyntaxError invalid syntax durch !find

Verfasst: Dienstag 12. Februar 2019, 21:55
von CodeIt
Vielen Dank.

ok, da ich kein IPython/Jupyter-Notebook und auch kein Unix/Linux benutze, muss ich den Code abändern.

Re: SyntaxError invalid syntax durch !find

Verfasst: Mittwoch 13. Februar 2019, 08:38
von Sirius3
Warum hier ein externes Programm aufgerufen wird, wo das doch ein Einzeiler mit pathlib ist??

Code: Alles auswählen

beispiel_bilder = list(pathlib.Path(train_image_files_path).rglob("*.jpg"))