Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3495 posts.

Центр помощи » Боты для телеграма » Июль 12, 2020 01:07:46

Добрый вечер,не подскажите годные курсы по написанию ботов для тг?

Python для новичков » Помогите отредактировать код, нейросеть » Июнь 17, 2020 13:58:57

Задание: Рассчитать количество элементов исходной матрицы после применения к ней такого вида свертки:
x = Conv2D((6, (2,2), activation='relu', stride = (2,2), padding='same')
Если размерность входной свертки 8х8х1

Код:
import numpy as np
from keras.layers import Input, Conv2D
from keras.models import Model
inputs = Input((8,8,1))
conv = Conv2D(filters=6,
strides = (2,2),
padding='same',
activation='relu',
kernel_size=2,
kernel_initializer='ones',
bias_initializer='zeros', )(inputs)
model = Model(inputs,conv)
model.summary()

GUI » Не работает функция удаление строки в QSqlQueryModel. » Июнь 13, 2020 20:04:57

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

 class NewSqlModel(QSqlQueryModel):
    def __init__(self, parent=None):
        super(NewSqlModel, self).__init__()
    def flags(self, index):
        """Предопределим флаги для дальнейшего их редактирования в
            модели"""
        f1 = QSqlQueryModel.flags(self, index)
        if index.column() == 0:
            f1 |= Qt.ItemIsEditable
        return f1
    def setData(self, index, value, role=Qt.EditRole):
        """Метод для обновления данных"""
        self.data = QSqlQueryModel.data(self, index, role)
        if index.isValid():
            self.data(index.row(), value)
            self.dataChanged.emit(index, index, role)
            return True
        return False
    # Функция с ошибкой
    def removeRows(self, position, index, parent=QModelIndex()):
        """Производим удаление выбранной строки"""
        self.beginRemoveRows(parent, position, position + index - 1)
        self.query = QSqlQuery('DELETE FROM calculation WHERE id = %d' % position)
        self.endRemoveRows()
        return True
Так же прилагаю функцию подключение модели и вызов функции удаления выбранной строки.
 def connect_column_calc(self):
      """Подключаем модель к БД и производим запрос к ней"""
      self.calculation_model = NewSqlModel()
      self.calculation_model.setQuery('SELECT id, number_invoice, inv_date, company_name, '
                                      '(all_sum / 100.0) AS all_sum, signatory FROM calculation')
    def del_pushbutton(self):
        """Функция удаляет выделенную строку из БД.
               Запускается через кнопку"""
        if self.inv_tabView.selectionModel().hasSelection():
            for index in self.inv_tabView.selectedIndexes() or []:
                print('Удаляется строка %d...' % index.row())
                self.start_menu.model().removeRows(index.row(), index.row())
        else:
            QMessageBox.warning(None, 'Ошибка удаления', 'Строки для удаления отсутствуют! \n'
                                                         'Выделите строку и повторите удаление.')

Python для новичков » Пара вопросов по pandas » Июнь 11, 2020 16:52:34

Приветствую!
Подскажите плиз по основам pandas: начал недавно изучать, пытаюсь набить руку - переписать скрипты по работе, но столкнулся с определенным затыком.
Требуется примерно такое поведение:
 lst =[['n1', 1, 2, 3], ['n2', 11, 22, 33], ['n1', 1,222, 333], ['n2', 11, 333, 5]]
res = {}
for line in lst:
    name = ':'.join(map(str, line[0:2]))
    res.setdefault(name, 0)
    res[name] += line[2] if line[3] < 10 else 0
print(res)
Т.е. часть столбцов в таблице объединяются в идентификатор, остальные сопоставляются с этим идентификатором для использования в дальнейшем, но значения одного столбца выбираются в зависимости от значений другого. Попытался повторить этот же пример в pandas:
 df = pd.DataFrame([['n1', 1, 2, 3], ['n2', 11, 22, 33], ['n1', 1,222, 333], ['n2', 11, 333, 5]], columns=['nm1', 'nm2', 'v1', 'v2'])
df['name'] = df.iloc[:, :2].apply(lambda r: ':'.join(r.values.astype(str)), axis=1)
Насчет формирования name - возможно, есть более изящный вариант, пока не нашел ничего. Дальше - в упор не понимаю, как правильно действовать, никакой толком информации по вопросу пока не нашел. Знаю, как выполнить групповую выборку names = df.groupby('name'), знаю как получить из нее суммы значений в столбцах, но как при этом подменять определенные значения нулем?
Пробую тупо фильтровать:
 df_filtered = df.loc[:, df['v2'] < 10]  # IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).
df_filtered = df[df['v2'] < 10]  # работает без ошибки
Рекомендуемый везде loc почему-то вообще не работает, пока формулировал вопрос - обнаружил, что просто через указание столбца ошибка пропадает…
Дальше написал:
 names = df_filtered.groupby('name')['v1'].sum()
Частично работает, но при этом в df_filtered могут попадать уже не все идентификаторы, если для них не находятся значения, а должен все равно присутствовать 0. Еще приходило в голову создать отдельный столбец и в 2 захода заполнять его - сначала дублировать v1, затем заполнять нулем по фильтру, типа такого:
 df['v11'] = df['v1']
df['v11'][df['v2'] > 10] = 0
names = df.groupby('name')['v11'].sum()
Вроде и заработало - прямо сейчас, пока вопрос писал, на ходу наковырял с 134-й за 3 дня попытки, но как-то криво воспринимается - явно должен быть более правильный способ. Подскажите плиз, как такая операция грамотно выполняется и в чем причина IndexingError? Заранее благодарю.

Центр помощи » соединение цикла с многомерным массивом » Июнь 8, 2020 23:30:46

помогите и объясните пожалуйста как это сделать на python недавно начал работать
многомерный массив который я создал
data2=w_new
и теперь его мне нужно соединить с циклом нейронной сети с LSTM
def f(x,x1):
return x+x1

NN=10
N=5
n=272

data2=np.zeros((NN,N,n))
for j in range(NN):
data2=2*np.random.rand(n)-1
data2=2*np.random.rand(n)-1

for i in range(2,N):
data=f(data,data)

как это соединить до конца, чтобы это работало

Python для Java » Импорт сохраненной в Python модели нейронной сети в Java » Май 31, 2020 23:43:44

Здравствуйте!

Пытаюсь импортировать в Java обученную и сохраненную в Python модель нейронной сети.
Вы дает следующее исключение:
Exception in thread “main” java.lang.NoClassDefFoundError: org/deeplearning4j/nn/weights/IWeightInit
at org.deeplearning4j.nn.modelimport.keras.layers.core.KerasDense.<init>(KerasDense.java:96)
at org.deeplearning4j.nn.modelimport.keras.utils.KerasLayerUtils.getKerasLayerFromConfig(KerasLayerUtils.java:220)
at org.deeplearning4j.nn.modelimport.keras.KerasModel.prepareLayers(KerasModel.java:218)
at org.deeplearning4j.nn.modelimport.keras.KerasSequentialModel.<init>(KerasSequentialModel.java:110)
at org.deeplearning4j.nn.modelimport.keras.KerasSequentialModel.<init>(KerasSequentialModel.java:57)
at org.deeplearning4j.nn.modelimport.keras.utils.KerasModelBuilder.buildSequential(KerasModelBuilder.java:322)
at org.deeplearning4j.nn.modelimport.keras.KerasModelImport.importKerasSequentialModelAndWeights(KerasModelImport.java:223)
at NeuralNetwork.main(NeuralNetwork.java:21)
Caused by: java.lang.ClassNotFoundException: org.deeplearning4j.nn.weights.IWeightInit
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 8 more

При чем если смотреть через отладчик, то он вроде как считывает файл H5 (см. рисунок).

Модель нейронной сети, построенная и сохраненная в Python:
 model_fully_connected = Sequential()
model_fully_connected.add(keras.layers.Dense(17, activation='tanh', input_shape=(x_train.shape[1],), W_regularizer=l2(l2_lambda)))
model_fully_connected.add(keras.layers.Dense(17, activation='tanh', W_regularizer=l2(l2_lambda)))
model_fully_connected.add(keras.layers.LeakyReLU (alpha=0.1))
model_fully_connected.add(keras.layers.Dense(17, activation='tanh', W_regularizer=l2(l2_lambda)))
model_fully_connected.add(keras.layers.LeakyReLU (alpha=0.1))
model_fully_connected.add(keras.layers.Dense(17, activation='tanh', W_regularizer=l2(l2_lambda)))
model_fully_connected.add(keras.layers.Dense(1))
model_fully_connected.compile(optimizer='adam', loss='mse', metrics=["mae", "mse"])
history=model_fully_connected.fit(x_train, y_train, epochs=10, batch_size=1, verbose=2, validation_data=(x_test, y_test))
# #Сохранение обученной нейронной сети
model_fully_connected.save("trained _neural_network.H5",True,True)

Код импорта в Java:
 MultiLayerNetwork modelMultiLayer=null;
        KerasModelImport kerasModelImport=new KerasModelImport();
        try {            modelMultiLayer=kerasModelImport.importKerasSequentialModelAndWeights("E:\\Java\\neuralwork\\trained _neural_network.H5");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InvalidKerasConfigurationException e) {
            e.printStackTrace();
        } catch (UnsupportedKerasConfigurationException e) {
            e.printStackTrace();
        }
        System.out.println(modelMultiLayer.conf());

Библиотеки, которые использую в Java для импорта:
 <dependency>
            <groupId>org.deeplearning4j</groupId>
            <artifactId>deeplearning4j-core</artifactId>
            <version>1.0.0-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.nd4j</groupId>
            <artifactId>nd4j-native-platform</artifactId>
            <version>1.0.0-beta2</version>
        </dependency>
        <dependency>
            <groupId>com.google.cloud.dataflow</groupId>
            <artifactId>google-cloud-dataflow-java-sdk-all</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.deeplearning4j</groupId>
            <artifactId>deeplearning4j-modelimport</artifactId>
            <version>1.0.0-beta7</version>
        </dependency>

В чем здесь проблема может быть?


Центр помощи » Ребят, помогите с заданием. » Май 30, 2020 17:27:50

Как построить QA приложение с помощью deeppavlov.
Имеется код:
import os
from deeppavlov.core.common.file import read_json
from deeppavlov import configs, train_model
from deeppavlov import build_model
import spacy

nlp = spacy.load('en')

model_config = read_json(configs.doc_retrieval.en_ranker_tfidf_wiki)
model_config = os.path.abspath(os.getcwd()) + “\\Resourses”
model_config = “txt”
model_config = 10
doc_retrieval = train_model(model_config)
res = doc_retrieval()
print(res)

Результат работы просто пустота

Python для новичков » Библиотечный метод » Май 30, 2020 11:56:04

Библиотечный метод
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если после рассмотрения очередного элемента массив не изменился, то его выводить не нужно. Если массив упорядочен изначально, то следует не выводить ничего.

Входные данные

На первой строке дано число N (1≤N≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109.

Выходные данные

В выходной файл выведите строки (по количеству вставок) по N чисел каждая.

Python для экспертов » Тест на знание python » Май 30, 2020 08:17:31

Добрый день! Написал тест на знание языка python3. Оцените пожалуйста тест. Прохождение в среднем занимает 3-5 минут. Тест доступен через телеграм, ссылка на тест t.me/QuizBot?start=sC1j9lD6

Python для экспертов » Куда делись 2 элемента? » Май 28, 2020 16:23:41

почему датасет 1503 элемента.
Х равно 1501 элемент.
Y равно 1501 элемент.
куда исчезли 2 элемента?
 import numpy
import pandas as pd
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
from sklearn.metrics import accuracy_score
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back=0):
	dataX, dataY = [], []
	for i in range(len(dataset)-look_back):
		a = dataset[i:(i+look_back), 0]
		dataX.append(a)
		dataY.append(dataset[i + look_back, 0])
	return numpy.array(dataX), numpy.array(dataY)
# fix random seed for reproducibility
numpy.random.seed(7)
# load the dataset
file='test1.xlsx'
xl=pd.ExcelFile(file)
dataframe = xl.parse('Sheet1')
dataset = dataframe.values
dataset = dataset.astype('float32')
# normalize the dataset
scaler = MinMaxScaler(feature_range=(1, 3))
dataset = scaler.fit_transform(dataset)
# split into train and test sets
train_size = int(len(dataset) * 0.80)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:],dataset[train_size:len(dataset),:]
# reshape into X=t and Y=t+1
look_back = 1
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX,(trainX.shape[0],1,trainX.shape[1]))
testX = numpy.reshape(testX,(testX.shape[0],1,testX.shape[1]))
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam',metrics=['accuracy'])
model.fit(trainX, trainY, epochs=2, batch_size=1, verbose=2)
# make predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
# invert predictions
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY])
testPredict = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
# calculate root mean squared error
trainScore = math.sqrt(mean_squared_error(trainY[0],trainPredict[:,0]))
print('Test Score: %.2f RMSE' % (trainScore))
testScore = math.sqrt(mean_squared_error(testY[0],testPredict[:,0]))
print('Test Score: %.2f RMSE' % (testScore))
#
print(len(dataset))
print(len(testX)+(len(trainX)))
print(len(testY.T)+(len(trainY.T)))
 Epoch 1/2
 - 57s - loss: 1.1863 - accuracy: 1.0000
Epoch 2/2
 - 57s - loss: 0.7782 - accuracy: 1.0000
Test Score: 0.87 RMSE
Test Score: 0.84 RMSE
1503
1501
1501
где найти эти 2 элемента?



Python для новичков » Куда делись 2 елемента. » Май 28, 2020 16:18:16

почему датасет 1503 элемента.
X равно 1501 элемент.
Y равно 1501 элемент.
куда исчезли 2 элемента?
 import numpy
import pandas as pd
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
from sklearn.metrics import accuracy_score
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back=0):
	dataX, dataY = [], []
	for i in range(len(dataset)-look_back):
		a = dataset[i:(i+look_back), 0]
		dataX.append(a)
		dataY.append(dataset[i + look_back, 0])
	return numpy.array(dataX), numpy.array(dataY)
# fix random seed for reproducibility
numpy.random.seed(7)
# load the dataset
file='test1.xlsx'
xl=pd.ExcelFile(file)
dataframe = xl.parse('Sheet1')
dataset = dataframe.values
dataset = dataset.astype('float32')
# normalize the dataset
scaler = MinMaxScaler(feature_range=(1, 3))
dataset = scaler.fit_transform(dataset)
# split into train and test sets
train_size = int(len(dataset) * 0.80)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:],dataset[train_size:len(dataset),:]
# reshape into X=t and Y=t+1
look_back = 1
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX,(trainX.shape[0],1,trainX.shape[1]))
testX = numpy.reshape(testX,(testX.shape[0],1,testX.shape[1]))
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam',metrics=['accuracy'])
model.fit(trainX, trainY, epochs=2, batch_size=1, verbose=2)
# make predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
# invert predictions
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY])
testPredict = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
# calculate root mean squared error
trainScore = math.sqrt(mean_squared_error(trainY[0],trainPredict[:,0]))
print('Test Score: %.2f RMSE' % (trainScore))
testScore = math.sqrt(mean_squared_error(testY[0],testPredict[:,0]))
print('Test Score: %.2f RMSE' % (testScore))
#
print(len(dataset))
print(len(testX)+(len(trainX)))
print(len(testY.T)+(len(trainY.T)))
 Epoch 1/2
 - 57s - loss: 1.1863 - accuracy: 1.0000
Epoch 2/2
 - 57s - loss: 0.7782 - accuracy: 1.0000
Test Score: 0.87 RMSE
Test Score: 0.84 RMSE
1503
1501
1501

GUI » wx TextCtrl wx.TE_PASSWORD » Май 25, 2020 18:38:46

мне нужен чекбокс, чтобы делать видимым текст в поле. какая будет функция у обработчика событиев чекбокса?

Python для новичков » извлечение информации из файла с помощью GDAL » Май 22, 2020 12:46:04

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

Python для новичков » Авторизация на сайте ВЕТИС requests.session » Май 21, 2020 23:51:44

Не могу авторизовываться на ВЕТИС, Что не так??? Ошибка 400
import requests

endpoint = "http://api2.vetrf.ru:8002


data = {'username':'wwwww11111','Password':'2334545eee'}
body = body.encode('utf-8')
session = requests.session()
session.headers = {”Content-Type“: ”text/xml; charset=utf-8“}
session.headers.update({”Content-Length": str(len(body))})
response = session.post(url=endpoint, data=data, verify=True)


print(response.content)

Python для экспертов » Кто может написать код для игры с бросанием кубика » Май 21, 2020 14:02:28

15 клеточек игровое поле
бросаем один кубик с 1 до 6

Враги (клеточки игрового поля)
крыса 10 хп, урон 1+ бросание кубика крысой
стая крыс 15хп, урон 3 + бросание кубика стаей

болото -2 хода если попадаем

герой 30хп, в бою урон 2+бросание кубика + палка 3 урон

клеток врагов и болот любое кол-во, важен сам пример
————–
спасибо за любой код

Python для новичков » яндекс практикум » Май 21, 2020 09:32:21

Напишите функцию фильтрации фильмов по длине. Она должна отсеивать все фильмы, длиннее времени, полученного на вход.
Функция должна получать на вход два аргумента: таблицу и время для фильтрации. Она должна возвращать новую таблицу и не менять старую.
Оставьте в таблице фильмы не длиннее двух часов, и отсортируйте её по сборам. Напечатайте топ-5 элементов полученной таблицы на экране.

oscar_data = [
['Форма воды', 2017, 6.914, 123, , 19.4, 195.243464],
['Лунный свет', 2016, 6.151, 110, , 1.5, 65.046687],
['В центре внимания', 2015, 7.489, 129, , 20.0, 88.346473],
['Бёрдмэн', 2014, 7.604, 119, , 18.0, 103.215094],
['12 лет рабства', 2013, 7.71, 133, , 20.0, 178.371993],
['Операция “Арго”', 2012, 7.517, 120, , 44.5, 232.324128],
['Артист', 2011, 7.942, 96, , 15.0, 133.432856],
['Король говорит!', 2010, 7.977, 118, , 15.0, 414.211549],
['Повелитель бури', 2008, 7.298, 126, , 15.0, 49.230772],
['Миллионер из трущоб', 2008, 7.724, 120, , 15.0, 377.910544],
['Старикам тут не место', 2007, 7.726, 122, , 25.0, 171.627166],
['Отступники', 2006, 8.456, 151, , 90.0, 289.847354],
['Столкновение', 2004, 7.896, 108, , 6.5, 98.410061],
['Малышка на миллион', 2004, 8.075, 132, , 30.0, 216.763646],
['Властелин колец: Возвращение Короля', 2003, 8.617, 201, , 94.0, 1119.110941],
['Чикаго', 2002, 7.669, 113, , 45.0, 306.776732],
['Игры разума', 2001, 8.557, 135, , 58.0, 313.542341],
['Гладиатор', 2000, 8.585, 155, , 103.0, 457.640427],
['Красота по-американски', 1999, 7.965, 122, , 15.0, 356.296601],
['Влюбленный Шекспир', 1998, 7.452, 123, , 25.0, 289.317794],
['Титаник', 1997, 8.369, 194, , 200.0, 2185.372302],
['Английский пациент', 1996, 7.849, 155, , 27.0, 231.976425],
['Храброе сердце', 1995, 8.283, 178, , 72.0, 210.409945],
['Форрест Гамп', 1994, 8.915, 142, , 55.0, 677.386686],
['Список Шиндлера', 1993, 8.819, 195, , 22.0, 321.265768],
['Непрощенный', 1992, 7.858, 131, , 14.4, 159.157447],
['Молчание ягнят', 1990, 8.335, 114, , 19.0, 272.742922],
['Танцующий с волками', 1990, 8.112, 181, , 22.0, 424.208848],
['Шофёр мисс Дэйзи', 1989, 7.645, 99, , 7.5, 145.793296],
['Человек дождя', 1988, 8.25, 133, , 25.0, 354.825435],
]

def filter_not_longer_than(data, length_threshold):
# < напишите код здесь >

def print_top5_by_column(data, column, reverse):
data.sort(key=lambda row: row, reverse=reverse)
print('Название | Год | Рейтинг | Длина | Бюджет | Сборы |')
print('——————————————————————————–')
for row in data:
print('{: <35} | {} | {: >7.2f} | {: >5} | {: >6.1f} | {: >6.1f} |'.format(
row, row, row, row, row, row))

# < напишите код здесь >

Python для новичков » Отправка данных через сокеты в Питоне » Май 20, 2020 19:48:22

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import socket

sock = socket.socket()
host = ‘'
port = 5050
sock.bind((host, port))
sock.listen(1)
conn, addr = sock.accept()

print ’connected:', addr

while True:
data = conn.recv(1024)
if not data:
break
conn.send(data.upper())
У меня есть такой просто сервер, который я нашел на просторах интернета как базу для своего проекта и вот такой клиент:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket

sock = socket.socket()
host = ‘192.168.137.1’
port = 5050
word = ('hello').encode()
sock.connect((host, port))
sock.send(word)

data = sock.recv(1024)

print (data)
Соответственно в том примере сразу идет закрытие порта, после получения каких-либо данных и приходится по новой запускать сервер чтобы отправлять, попытка удалить sock.close не увенчалась сильным успехом) В общем суть вопроса, каким образом можно сделать соединение между клиентом и сервером постоянным? А также чтобы допустим, сервер отправлял 0 и 1 постоянно на клиента, а тот в свою очередь их уже обрабатывал и говорил что нужно делать блоку управления.

Центр помощи » при попытке распознования голоса, выдаёт Exception has occurred: UnknownValueError или просто ничего не выдаёт  » Май 18, 2020 13:02:58

   
import pyttsx3
import speech_recognition as sr
import pyaudio
r = sr.Recognizer()
with sr.Microphone(device_index=5) as source:
    print("скажите что нибудь")
    audio = r.listen(source)
quere = r.recognize_google(audio, language="ru-RU")
Exception has occurred: UnknownValueError
  File "C:\Users\1\xd\Untitled-1.py", line 8, in <module>
    quere = r.recognize_google(audio, language="ru-RU")
print( quere.lower())

в чём проблема и как её решить?

Python для новичков » Поправить скрипт выдаёт ошибки. » Май 15, 2020 18:17:09

Прошу подскажите.
Запускаю скрипт:
 # -*- coding: utf-8 -*-
import pafy
  
url = "https://www.youtube.com/watch?v=eACohWVwTOc"
video = pafy.new(url)
streams = video.streams
for i in streams:
	print(i)
    
# получить лучшее разрешение независимо от формата
best = video.getbest() 
print(best.resolution, best.extension)
 
# Скачать видео
best.download()
=================================
Выдаёт ошибки:
Python 3.8.0a1 (tags/v3.8.0a1:e75eeb00b5, Feb 3 2019, 19:46:54) on win32
Type “help”, “copyright”, “credits” or “license()” for more information.
>>>
============= RESTART: C:\Users\Александр\Desktop\1\Example2.py =============
ERROR: Unable to download webpage: <urlopen error Удаленный хост принудительно разорвал существующее подключение> (caused by URLError(ConnectionResetError(10054, ‘Удаленный хост принудительно разорвал существующее подключение’, None, 10054, None)))
Traceback (most recent call last):
File “C:\Python38-32\lib\urllib\request.py”, line 1316, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File “C:\Python38-32\lib\http\client.py”, line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File “C:\Python38-32\lib\http\client.py”, line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “C:\Python38-32\lib\http\client.py”, line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File “C:\Python38-32\lib\http\client.py”, line 1016, in _send_output
self.send(msg)
File “C:\Python38-32\lib\http\client.py”, line 956, in send
self.connect()
File “C:\Python38-32\lib\http\client.py”, line 1391, in connect
self.sock = self._context.wrap_socket(self.sock,
File “C:\Python38-32\lib\ssl.py”, line 405, in wrap_socket
return self.sslsocket_class._create(
File “C:\Python38-32\lib\ssl.py”, line 853, in _create
self.do_handshake()
File “C:\Python38-32\lib\ssl.py”, line 1117, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: Удаленный хост принудительно разорвал существующее подключение

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\common.py”, line 627, in _request_webpage
return self._downloader.urlopen(url_or_request)
File “C:\Python38-32\lib\site-packages\youtube_dl\YoutubeDL.py”, line 2238, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File “C:\Python38-32\lib\urllib\request.py”, line 525, in open
response = self._open(req, data)
File “C:\Python38-32\lib\urllib\request.py”, line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File “C:\Python38-32\lib\urllib\request.py”, line 503, in _call_chain
result = func(*args)
File “C:\Python38-32\lib\site-packages\youtube_dl\utils.py”, line 2728, in https_open
return self.do_open(functools.partial(
File “C:\Python38-32\lib\urllib\request.py”, line 1319, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error Удаленный хост принудительно разорвал существующее подключение>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Python38-32\lib\site-packages\youtube_dl\YoutubeDL.py”, line 797, in extract_info
ie_result = ie.extract(url)
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\common.py”, line 530, in extract
ie_result = self._real_extract(url)
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\youtube.py”, line 1709, in _real_extract
video_webpage, urlh = self._download_webpage_handle(url, video_id)
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\youtube.py”, line 271, in _download_webpage_handle
return super(YoutubeBaseInfoExtractor, self)._download_webpage_handle(
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\common.py”, line 660, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
File “C:\Python38-32\lib\site-packages\youtube_dl\extractor\common.py”, line 645, in _request_webpage
raise ExtractorError(errmsg, sys.exc_info(), cause=err)
youtube_dl.utils.ExtractorError: Unable to download webpage: <urlopen error Удаленный хост принудительно разорвал существующее подключение> (caused by URLError(ConnectionResetError(10054, ‘Удаленный хост принудительно разорвал существующее подключение’, None, 10054, None)))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Python38-32\lib\site-packages\pafy\backend_youtube_dl.py”, line 40, in _fetch_basic
self._ydl_info = ydl.extract_info(self.videoid, download=False)
File “C:\Python38-32\lib\site-packages\youtube_dl\YoutubeDL.py”, line 820, in extract_info
self.report_error(compat_str(e), e.format_traceback())
File “C:\Python38-32\lib\site-packages\youtube_dl\YoutubeDL.py”, line 625, in report_error
self.trouble(error_message, tb)
File “C:\Python38-32\lib\site-packages\youtube_dl\YoutubeDL.py”, line 595, in trouble
raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: Unable to download webpage: <urlopen error Удаленный хост принудительно разорвал существующее подключение> (caused by URLError(ConnectionResetError(10054, ‘Удаленный хост принудительно разорвал существующее подключение’, None, 10054, None)))

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “C:\Users\Александр\Desktop\1\Example2.py”, line 5, in <module>
video = pafy.new(url)
File “C:\Python38-32\lib\site-packages\pafy\pafy.py”, line 124, in new
return Pafy(url, basic, gdata, size, callback, ydl_opts=ydl_opts)
File “C:\Python38-32\lib\site-packages\pafy\backend_youtube_dl.py”, line 31, in __init__
super(YtdlPafy, self).__init__(*args, **kwargs)
File “C:\Python38-32\lib\site-packages\pafy\backend_shared.py”, line 97, in __init__
self._fetch_basic()
File “C:\Python38-32\lib\site-packages\pafy\backend_youtube_dl.py”, line 43, in _fetch_basic
raise IOError(str(e).replace('YouTube said', ‘Youtube says’))
OSError: ERROR: Unable to download webpage: <urlopen error Удаленный хост принудительно разорвал существующее подключение> (caused by URLError(ConnectionResetError(10054, ‘Удаленный хост принудительно разорвал существующее подключение’, None, 10054, None)))
>>>