Запутывание изображений

Не уверен, почему вы получаете ошибку для этого скрипта.

Следующий скрипт работает нормально; даже с разреженной матрицей. Может быть, попробовать в вашей машине.

sentences = ['i want to test this','let us try this',
             'would this work','how about this',
             'even this','this should not work']
y= [0,0,0,0,0,1]
from sklearn.model_selection import train_test_split
sentences_train, sentences_test, y_train, y_test = train_test_split(sentences, y, test_size=0.25, random_state=1000)


from sklearn.feature_extraction.text import CountVectorizer


vectorizer = CountVectorizer()
vectorizer.fit(sentences_train)

X_train = vectorizer.transform(sentences_train)
X_test  = vectorizer.transform(sentences_test)

from keras.models import Sequential
from keras import layers

input_dim = X_train.shape[1] 

model = Sequential()
model.add(layers.Dense(10, input_dim=input_dim, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', 
            optimizer='adam', 
            metrics=['accuracy'])
model.summary()

model.fit(X_train, y_train,
                        epochs=2,
                        verbose=True,
                        validation_data=(X_test, y_test),
                        batch_size=2)

#
Layer (type)                 Output Shape              Param #   
=================================================================
dense_5 (Dense)              (None, 10)                110       
_________________________________________________________________
dense_6 (Dense)              (None, 1)                 11        
=================================================================
Total params: 121
Trainable params: 121
Non-trainable params: 0
_________________________________________________________________
Train on 4 samples, validate on 2 samples
Epoch 1/2
4/4 [==============================] - 1s 169ms/step - loss: 0.7570 - acc: 0.2500 - val_loss: 0.6358 - val_acc: 1.0000
Epoch 2/2
4/4 [==============================] - 0s 3ms/step - loss: 0.7509 - acc: 0.2500 - val_loss: 0.6328 - val_acc: 1.0000
6
задан grieve 10 April 2009 в 21:42
поделиться

6 ответов

Загрузить "битый" файл в TMemoryStream , исправить байты в- память и используйте TGraphic.LoadFromStream () для загрузки фиксированного файла JPG.

16
ответ дан 8 December 2019 в 03:28
поделиться

Зашифровать их. Загрузите зашифрованное изображение, расшифруйте его в памяти, а затем выполните загрузку из потока, как предложил mghie.

6
ответ дан 8 December 2019 в 03:28
поделиться

Почему бы просто не зашифровать изображения с помощью закрытого ключа и разослать свой открытый ключ людям, которым вы хотите просматривать изображения ? гораздо проще распространять открытый ключ, чем писать какое-то специальное программное обеспечение и распространять его. Не забывай; все, что отображается на экране, может быть снято с экрана. Тот факт, что пользовательский JPEG-файл может отображаться только вместе с вашим приложением, не является защитой. Также не забывайте; люди могут просто распространять ваше программное обеспечение с искаженным изображением.

4
ответ дан 8 December 2019 в 03:28
поделиться

Вы можете усложнить им задачу, упаковав изображения в виде зашифрованных ресурсов. Но, как и все остальное, если у них есть доступ к файлам, которые могут получить изображения. Это зависит только от того, сколько усилий вы готовы приложить.

1
ответ дан 8 December 2019 в 03:28
поделиться

Ответ Мги примерно такой же хороший, как и вы, но вряд ли он будет слишком эффективным. Если кто-то хочет взглянуть на ваши изображения и он знает что-нибудь о форматах изображений, он откроет его в шестнадцатеричном редакторе и, скорее всего, распознает то, что он видит как JPEG, с удаленным волшебным заголовком.

Если вы действительно хотите сохранить кто-то, просматривая ваши изображения, создайте свой собственный формат изображения (это не так сложно, как кажется на самом деле) и вставьте как можно меньше метаданных, а затем надейтесь, что это сработает. Или зашифруйте их, или поместите их в архив (создайте свой собственный формат архива для достижения наилучших результатов) и надейтесь , что работает.

В конечном счете, все, что закодировано, должно быть декодировано перед этим можно показать, и любой достаточно талантливый хакер может проследить свой путь через вашу процедуру декодирования и выяснить, как она работает. В любом случае, почему вы пытаетесь скрыть что-то от своих пользователей?

2
ответ дан 8 December 2019 в 03:28
поделиться

В зависимости от того, насколько вам это нужно, вы можете сделать что-то столь же простое, как обфускация расширения файла до расширения, которое открывается только с вашим приложением. Это будет работать, только если это не суперсекретные изображения, которые вы меняете.

0
ответ дан 8 December 2019 в 03:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: