Как проигнорировать файл, который уже фиксируется?

Похоже, ваш вывод содержит только первые W-1 строк тестовых данных. Я не уверен, является ли это намеренным или нет. Мои решения предполагают, что вы хотите использовать все testdata.

Когда вы строите матрицу COO, вы также строите индексы и данные аналогичным образом?

Одна вещь, которая может ускорить построение csr_matrix, - это использовать встроенные функции numpy для генерации данных. для csr_matrix, а не для петонов и массивов. Я ожидаю, что это значительно улучшит скорость генерации индексов. Вы можете настроить тип d на тип int в зависимости от размера вашей матрицы.

N = 4
W = 8
testdata = np.random.randn(N,W)

ptrs = N*np.arange(W*N+1,dtype='int')
indices =  np.tile(np.arange(N*N,dtype='int'),W)
data = np.tile(testdata,N).flatten()

Hshape = ((N*W, N**2))
H = csr_matrix((data, indices, ptrs), shape=Hshape)

Другая возможность состоит в том, чтобы сначала создать большой массив, а затем определить каждый из N вертикальных блоков столбцов сразу. Это означает, что вам не нужно делать тонну копий исходных данных, прежде чем поместить их в разреженную матрицу. Однако преобразование типа матрицы может быть медленным.

N = 4
W = 8
testdata = np.random.randn(N,W)

Hshape = ((N*W, N**2))
H = sp.sparse.lol_matrix(Hshape)

for j in range(N): 
    H[N*np.arange(W)+j,N*j:N*(j+1)] = testdata.T

H = H.tocsc()
26
задан Jonik 7 July 2014 в 13:04
поделиться

1 ответ

Как упомянуто в" игнорирование не удаляет файл "
(следующая кавычка большая статья от [1 124], Nick Quaranto ,
в его мерзавце блога , готовом ", изучают мерзавца одна фиксация за один раз"):

, Когда Вы говорите Мерзавцу игнорировать файлы, it’s собирающийся только прекращать наблюдать изменения за тем файлом и ничем иным.
Это означает, что история будет все еще помнить файл и иметь его
.

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

git rm --cached <file>

Однако это все еще сохранит файл в истории.

, Если Вы на самом деле хотите удалить его из истории, у Вас действительно есть две опции:

  • переписывают Ваши фиксации repository’s, или
  • запускаются.

Обе опции действительно сосут, и that’s на серьезном основании: Мерзавец очень старается не потерять Ваши данные.
Точно так же, как с перебазированием, Мерзавец вынуждает Вас думать об этих видах опций, так как они - разрушительные операции.

, Если Вы действительно на самом деле хотели удалить файл из истории, git filter-branch , ножовка you’re поиск.
Определенно чтение на страница справочника перед использованием его, так как это буквально перепишет Ваши фиксации project’s. Это на самом деле - большой инструмент для некоторых действий и может сделать, все виды материала как общее удаление author’s принимают на себя обязательство перемещать корневую папку проекта вокруг. Команда для удаления файла из всех изменений:

git filter-branch --index-filter 'git rm --cached <file>' HEAD

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

49
ответ дан VonC 28 November 2019 в 07:08
поделиться
Другие вопросы по тегам:

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