Метод послойного суммирования. Расчет осадки слоистых оснований выполняется методом послойного суммирования, в основу которого положена выше разобранная задача (основная задача)
Расчет осадки слоистых оснований выполняется методом послойного суммирования, в основу которого положена выше разобранная задача (основная задача). Сущность метода заключается в определении осадок элементарных слоев основания в пределах сжимаемой толщи от дополнительных вертикальных напряжений σZP, возникающих от нагрузок, передаваемых сооружениям.
Так как в основу этого метода положена расчетная модель основания в виде линейно-деформируемой сплошной среды, то необходимо ограничить среднее давление на основание таким пределом, при котором области возникающих пластических деформаций лишь незначительно нарушают линейную деформируемость основания, т.е. требуется удовлетворить условие
(7.11)
Для определения глубины сжимаемой толщи Нс вычисляют напряжения от собственного веса σZqи дополнительные от внешней нагрузки σZP.
Нижняя граница сжимаемой толщи ВС основания принимается на глубине z = Нс от подошвы фундамента, где выполняется условие
(7.12)
т.е. дополнительные напряжения составляют 20% от собственного веса грунта.
При наличии нижеуказанной глубины грунтов с модулем деформации Е≤5 МПа должно соблюдаться условие
(7.13)
Для оснований гидротехнических сооружений по СНиП 2.02.02—85 «Основания гидротехнических сооружений» нижняя граница активной зоны находится из условия
(7.14)
Расчет осадкиудобно вести с использованием графических построений в следующей последовательности (рис. 7.11):
- строят геологический разрез строительной площадки на месте рассчитываемого фундамента;
- наносятся размеры фундамента;
- строятся эпюры напряжений от собственного веса грунта σ Zg и дополнительногоσZP от внешней нагрузки;
- определяется сжимаемая толща Нс;
- разбивается Нс на слои толщиной hi≤0,4b;
- определяется осадка элементарного слоя грунта по формуле
(7.15)
Тогда полную осадку можно найти простым суммированием осадок всех элементарных слоев в пределах сжимаемой толщи из выражения
(7.16)
где β— безразмерный коэффициент, зависящий от коэффициента относительных поперечных деформаций, принимаемый равным 0,8; hi— высота i-го слоя; Ei — модуль деформации i-го слоя грунта;
— среднее напряжение i-го элементарного слоя.
Метод послойного суммирования позволяет определять осадку не только ценфальной точки подошвы фундамента. С его помощью можно вычислить осадку любой точки в пределах или вне пределов фундамента. Для этого пользуются методом угловых точек и строится эпюра напряжений вертикальной, проходящей через точку, для которой требуется расчет осадки.
Рис. 7.11. Расчетная схема для определения осадки методом послойного суммирования: DL — отметка планировки; NL — отметка поверхности природного рельефа; FL — отметка подошвы фундамента; ВС — нижняя граница сжимаемой толщи; Нс — сжимаемая толща
Таким образом, метод послойного суммирования в основном используется при расчете небольших по размерам фундаментов зданий и сооружений и при отсутствии в основании пластов очень плотных малосжимаемых грунтов.
Расчет осадки фундамента методом послойного суммирования
Расчетная схема примера определения осадки фундамента методом послойного суммированияНа данный момент существует большое количество различных расчетов нагрузок на фундаменты, на основании которых затем подбирается тип строительных материалов, размеры подошвы основания и прочие данные.
Метод послойного суммирования используется в тех случаях, когда нужно рассчитать осадку отдельно стоячего фундамента с учетом влияния внешних факторов и дополнительных грунтовых влияний.
Применение метода
Методом послойного суммирования рекомендуется пользоваться, если нужно определить не только основные факторы осадок, но и вторичные или дополнительные, возникающие только в конкретных ситуациях.
Расчет позволяет:
- Определить осадку отдельно стоячего фундамента или комплекта оснований, расположенных недалеко друг от друга или с ними состыкованных.
- Используется при расчетах оснований, сделанных из неоднородных материалов. Такие параметры отображаются в изменениях модуля деформации с возрастанием глубины залегания.
- Как правило, метод дает возможность рассчитать осадку сразу по нескольким вертикалям, причем тут можно опускать параметры угловых переменных, а использовать центральные или периферийные параметры. Но это возможно сделать только при условии, если фундамент имеет слои по всему своему периметру, их толщина и структура одинаковые.
Такие осадки часто возникают от соседних фундаментов, ведь с ростом нагрузки на площадку неизбежно возникают просадки почвы, особенно при использовании мощных тяжелых конструкций. Но тут часто проектировщики сталкиваются с проблемой именно создания этюдов осадок, ведь нужно четко определить по оси вертикали именно те силы, которые возникли от воздействия соседних оснований.
Порой сделать это очень сложно и приходится использовать эмпирические формулы. Тогда точки напряжения часто находят по методу угловых точек, и полученные результаты в некоторых случаях принимаются как оптимальные для данного слоистого фундамента.
Почему так важно рассчитывать осадку фундамента?
Наглядный пример осадки дома методом послойного суммирования под влиянием давления в фундаментеНекоторые фундаменты отличаются слабой прочностью на изгиб и деформацию за счет больших линейных размеров и небольшой продольной толщины. Как правило, метод послойного суммирования часто используют для расчетов ленточных фундаментов, ведь они не могут обеспечить максимально высокую нагрузку на единицу площади грунта, поэтому и осадка может возникать практически в любом месте вполне спонтанно.
Все расчеты, формулы и рекомендации подробно указаны в СНиП 2.02.01-83. Чтобы более подробно разобраться в методе, нужно попробовать рассчитать осадку ленточного фундамента на реальном примере.
Расчет осадки ленточного фундамента
Расчетная схема методом послойного суммирования осадки ленточного фундаментаДля примера можно взять ленточный фундамент, который имеет ширину 120 см (b ) и глубину залегания 180 см (d). Он устроен на трех слоях грунта. Общее давление под подошвой на почву составляет 285 кПа.
Каждый слой грунта имеет следующие показатели:
- Маловлажный грунт средней плотности и пористости, основной компонент – мелкозернистый песок, пористость е1
- Второй слой более тонкий, состоит из крупнозернистого, насыщенного влагой песка. Его показатели, соответственно, составляют: е2 = 0,60, γ2 = 19,2 кН/м³ и Е2 = 18,6 МПа.
- Следующий слой – суглинок, параметры JL = 0,18, γ3 = 18,5 кН/м³ и Е3 = 15,3 МПа.
По данным геодезической службы и топографической разведки, грунтовые воды в расчетном регионе расположены на глубине 3,8 метра, поэтому их влияние на основание можно считать практически нулевым.
Итак, учитывая, что метод послойного суммирования – это создание нескольких графических этюдов вертикального напряжения в грунтах, тогда пора их создать для расчета допустимой нагрузки на почву.
На поверхности земли σzg = 0, а вот на глубине 1,8 метра (уровень подошвы), σzg 0
Теперь нужно рассчитать ординаты эпюры вертикального напряжения на стыках нескольких грунтовых слоев:
σzg 1 = σzg 0+ (h1-d) = 33,66 + (2,8 · 1,8)18,7 = 52,36 кПа и σzg 2 = σzg 1 + γsbh2 = 52,36 + 10,38 • 4,2 = 95,94 кПа.
Также стоит учесть, что второй слой грунта насыщен водой, поэтому тут не обойтись без расчета допустимого давления столба воды:
Ysb2 = (Ys2-Yw)/(1 + e2) = (26.6 -10.0)/(+0.60 1) = 10, 38kPa
Теперь внимание. В примере четко указано, что третий слой грунта принимает на себя не только давление двух верхних слоев, но и столба воды, поэтому этими параметрами пренебрегать нельзя. Таким образом, напряжение по подошве фундамента будет рассчитано по формуле:
Дополнительное давление под подошвой:
Далее все параметры этюдов напряжения нужно выбирать с расчетных таблиц СНиПа. В итоге получается, что осадка S
Осадка более крупного песка:
Суглинка:
S3 = 0,8/ 15300(50 х 37,5+30 х 33,0) = 0,15 см
Полная осадка фундамента, посчитанная методом послойного суммирования, будет составлять:
S = S1 + S2 + S3 = 1,16 + 1,38 + 0,15 = 2,69 см
По параметрам, указанным в СНиП 2.02.01—83* для сооружений, возведенных на ленточных фундаментах с учетом указанных типов грунтов, параметр усадки соответствует норме.
Преимущества метода послойного суммирования
Необходимость расчета осадки фундамента методом послойного суммирования- Благодаря методу, можно посчитать усадку практически любого типа основания, независимо от структуры и размеров.
- Можно использовать параметры множества слоев грунта, а также учесть уровень расположения грунтовых вод.
- Подходит для расчета линейных и монолитных оснований.
- Также можно использовать несущие параметры напряжения скальных пород, на которых установлена подошва основания.
- Можно использовать не только метод угловых точек. Расчет допустим при использовании любых вертикальных разрезов.
Среди недостатков стоит отметить сложность в расчетах, сделать их может только профессиональный строитель. Также этот метод сложен по времени, поэтому его используют при расчетах оснований для больших массивных зданий с глубоким залеганием подошвы. Для небольших частных домов метод не практикуется.
Расчет осадки фундамента методом послойного суммирования
Расчеты фундаментов методом послойного суммирования реализуются при вычислении осадки фундамента с ограниченной геометрией. Особенности метода: Если габариты основания объекта намного больше мощности грунта, сжимающегося под давлением фундамента, то сжатие грунта считается протекающим без боковых сил расширения на фундамент. Кроме послойного суммирования, осадка фундамента может рассчитываться несколькими способами, но, если необходимо сделать расчет осадки основания отдельно смонтированного и учесть воздействие влияние грунта и других внешних сил, то расчет осадки фундамента методом послойного суммирования представляется самым точным.
Несколько схем расчета по методике суммирования усадки слоев грунта
Правильное применение
Точность расчетов заключается в том, что определяются не только основополагающие параметры осадок грунта, но и вторичные факторы, могущие возникать в конкретных сооружениях согласно расчетному напряжению.
Точный расчет осадки фундамента проводится для того, чтобы:
- Вычислить осадку отдельной основы или группы находящихся рядом фундаментов, а также присоединенных к ним оснований;
- Произвести точные расчеты осадки фундамента, построенного их разнородных стройматериалов. Значения осадочных свойств и физических параметров фундамента изменяются с изменением модуля деформации по мере увеличения заглубления основания;
- Методика расчета осадок фундаментов помогает точно вычислить осадочные параметры основания по группе вертикальных осей, при этом значения угловых переменных можно не учитывать, а пользоваться периферийными или центральными значениями. Но реализовать это условие возможно, если по периметру фундамента проходят равномерные и структурно одинаковые слои грунта.
Осадочные явления в фундаменте могут возникать от воздействия рядом стоящих оснований, так как при возрастании нагрузки на основу сооружения будет происходить просадка грунта, и, чем мощнее и тяжелее фундамент, тем сильнее будут осадочные явления. При проектировании и составлении схем расчетов основания фундамента создание этюдов осадок представляет определенные трудности, так как требуется точно рассчитать по вертикальной оси вертикали усилия, возникающие от прилагаемых усилий на грунт и на боковые стенки основания от рядом стоящих фундаментов.
Для таких сложных расчетов используются экспериментальные формулы, и точки напряжений в фундаменте зачастую вычисляют проведением расчетов угловых точек, а результаты вычислений иногда определяются как оптимально возможные для конкретного фундамента на слоистом грунте.
Распределение напряжений по вертикальным осям
Важность расчетов
На практике случается так, что фундамент имеет низкую прочность на изгибание и может деформироваться из-за увеличенных линейных габаритов основы и недостаточной толщины фундамента. Основная область применения расчета осадки по методике послойного суммирования – расчет прочности фундамента ленточного типа, так как именно для таких оснований невозможно гарантировать максимальную предельную нагрузку на почву в расчете на квадратный метр площади, из-за чего осадочные явления могут проявлять себя хаотически, и в любых локальных участках основания.
Параметры расчета ленточного фундамента, необходимые выкладки и вспомогательные характеристики регламентированы СНиП 2.02.01-83, а практический пример расчета поможет детальнее разобраться в методике.
Выдержка из СНиП 2.02.01-83
Принятые обозначения при расчетах осадки фундамента ленточного типа
- S – значение осадки;
- δzϐn – усредненное напряжение по вертикальной оси в n-м слое почвы;
- hn, En – толщина деформации и модуль деформации n-го слоя почвы;
- γn – удельная масса почвы в n -ом слое;
- hn – толщина n-го слоя почвы;
- ϐ = 0,8 –коэффициент для любых типов грунтов.
В качестве примера возьмем ленточную основу фундамента с шириной 1200 мм (b) и заложением на глубину 1800 мм (d).
Схема слоя грунта линейно деформируемого
В примере фундамент обустраивается на грунте, состоящем из 3-х разнородных слоев почвы. Суммарное давление на грунт под основанием ≈ 285000 кг•м−1•с−2. Для слоев определены следующие значения:
- Первый слой – сухой грунт со средними значениями пористости и плотности, главная составляющая грунта –песок с мелкой зернистостью, пористостью ҽ1 = 0,65; плотностью γ1 = 18,70 кН/м³, уровнем деформации Е1 = 14400000 кг•м−1•с−2;
- Второй слой – влажный песок крупных фракций с плотностью, пористостью и степенью деформацией: ҽ2 = 0,60, γ2 = 19,20 кН/м³; Е2 = 18600000 кг•м−1•с−2;
- Третий слой грунта – суглинистая почва с показателями: ҽ3 = 0,180; γ3 = 18,50 кН/м³; Е3 = 15300000 кг•м−1•с−2;
В примере мы используем данные об исследованиях грунта от геодезической и геологической региональных служб, согласно которым грунтовые воды на участке застройки залегают на глубине 3800 мм. Такая глубина залегания некритична даже для глубокозаглубленных основ, и влияние грунтовых вод на прочность можно считать минимальным, а на практике – нулевым.
Слои грунта в разрезе
Так как стандартные расчеты послойного суммирования основан на том, что создаются несколько этюдов напряжений в почве по вертикальным осям, то для их создания и расчета предельных нагрузок на грунт будем использовать следующие факторы:
- Верхний уровень поверхности δzϐ ≈ 0, на уровне подошвы фундамента 1800 мм δzϐ0 = γ1d = 18,7Κ • 1,8 = 33660 кг•м−1•с−2;
Затем рассчитываются ординаты эпюр вертикальных напряжений на пересечениях слоев почвы:
- δzϐ1 = δzϐ 0 + (h1-d) = 33,66 + (2,8 • 1,8) • 18,7 = 52360000 кг•м−1•с−2; и δzϐ2 = δzg1 + γsbh2 = 52,36 + 10,38 • 4,2 = 95940000 кг•м−1•с−2.
Принимаем во внимание, что средний (второй) слой грунта – влагонасыщенный, поэтому необходимо рассчитать максимальное давление водяного столба:
- γsb1 = (γs2 – γw) / (1 + ҽ2) = (26,6 – 10,0) / (1 + 0,60) = 10380000 кг•м−1•с−2;
- γsb2 = (γs2 – Yw) / (1 + ҽ2) = (26,6 – 10,0) / (1 + 0,601) = 10,380000 кг•м−1•с−2.
Из расчетов и их описания понятно, что на третий грунтовый слой давят не только верхние слои почвы – на него давит и столб воды, поэтому методы расчета осадок эпюр напряжений по нижнему уровню основания должны учитывать следующие моменты:
- δzϐ3 = δzϐ1 + + γ3 • h4 = 95,94 + 18,5 • 6,0 = 251340000 кг•м−1•с−2.
А также давление под нижним уровнем фундамента:
- P0 = P – δZϐ0 = 285,0 – 33,66 = 251340000 кг•м−1•с−2.
Значения этюдов напряжений берутся из таблиц СНиП 2.02.01-83, и согласно подставленным значениям осадка первого слоя грунта S1 будет равна:
- S1 = 0,8 • 50 / 14400 • ((251,43 + 215,0) / 2 + (215,0 + 158,0) / 2)) = 11,6 мм.
Формула расчета для осадки второго слоя грунта с крупнозернистым песком:
- S2 = 0,8 • 50 / 18600 • ((158,0 + 120,0) / 2) + (120,0 + 90,0) / 2 + (90,0 + 75,0) / 2 + (75,0 + 62,0) / 2 + (62,0 + 54,0) / 2 + (54,0 + 49,0) / 2 + (49,0 + 46,0) / 2) + (46,0 + 43,0) / 2 • (0,8 • 20 / 18600) = 1,34 + 0,04 = 138 мм.
Формула расчета для осадки третьего слоя грунта из суглинка:
- S3 = 0,8 / 15300 • (50 • 37,5 + 30 • 33,0) = 1,5 мм.
Суммарная осадка основания объекта составляет:
- S = S1 + S2 + S3 = 1,16 + 1,38 + 0,15 = 26,9 мм.
Если сравнить результаты с параметрами, регламентированными СНиП для объектов, стоящих на ленточном основании на указанных типах почвы, значение осадки расположено нормативных пределах.
Чем примечательна методика послойного суммирования осадок
- Применяя метод послойного суммирования осадок грунта, легко просчитывается осадка любых типов фундаментов, невзирая на их геометрию, структуру и габариты;
- Методика позволяет манипулировать множеством параметров грунтовых слоев с учетом уровня залегания грунтовых вод;
- Этим способом можно точно рассчитывать монолитные и линейные фундаменты с использованием значений напряжений в скальных породах грунта под фундаментом;
- Реализация этой методики позволяет пользоваться не только методом расчета угловых переменных, но и для расчета всевозможных разрезов по вертикали.
У этой методики существуют недостатки: Это довольно сложные ручные расчеты (если не пользоваться специальными онлайн или компьютерными программами), поэтому любителю оперирование формулами недоступно. Методика расчетов занимает много времени, поэтому чаще всего применяется для расчетов фундаментов крупных, тяжелых и массивных строительных объектов с основанием глубокого заложения. В индивидуальном строительстве метод непрактичен, поэтому не применяется.
6. Расчёт осадки основания методом послойного суммирования
6.1 Фундамент мелкого заложения под колонну
Осадку основания определяют методом послойного суммирования с использованием расчетной схемы в виде линейно деформируемого полупространства. Расчет осадки основания выполняем в третьем расчетном сечении (одиночный фундамент под колонну).
Грунтовое основание на глубину (3…5)b делят на элементарные слои толщиной
hi = (0,2…0,4)b. На границах слоев вычисляют вертикальные нормальные напряжения, создаваемые собственным весом грунта и проектируемым фундаментом.
Напряжения от собственного веса грунта вычисляют по формуле
,
где σzg0 – напряжение на отметке подошвы фундамента FL.
При расчете напряжений, создаваемых фундаментом, исключают так называемое природное давление, существовавшее на отметке подошвы фундамента до начала строительства -σzg0. Считают, что сжатие грунта в основании происходит только от дополнительных напряжений:
,
α – коэффициент, учитывающий распределение напряжений по глубине, зависит от l/b и ξ=2z/b определяем по СНиП 2.02.01-83, прил. 2, табл. 1.
р0 – дополнительное давление под подошвой фундамента.
Допустимая толщина слоя .
l/b=1,5/1,5=1.
Вычисления по определению собственного веса грунта и дополнительных напряжений сводим в таблицу.
Таблица 16.
№ ИГЭ | Z , м | |||||
26 | 0 | 0 | 1 | 313,37 | 68,6 | 13,72 |
26 | 0,5 | 0,67 | 0,87 | 272,66 | 79,0 | 15,80 |
26 | 1,0 | 1,33 | 0,55 | 172,44 | 89,4 | 17,88 |
26 | 1,5 | 2,00 | 0,35 | 109,81 | 99,8 | 19,96 |
26 | 2,0 | 2,67 | 0,23 | 72,23 | 110,2 | 22,04 |
26 | 2,5 | 3,33 | 0,16 | 50,31 | 120,6 | 24,12 |
26 | 3,0 | 4,00 | 0,12 | 37,78 | 131,0 | 26,20 |
26 | 3,5 | 4,67 | 0,08 | 25,25 | 141,4 | 28,28 |
26 | 4,1 | 5,47 | 0,05 | 15,86 | 151,8 | 30,36 |
30 | 4,6 | 6,13 | 0,04 | 12,73 | 161,7 | 32,34 |
Для вычисления осадки определяем положение нижней границы сжимаемой толщи. Указанная граница находится на глубине, где выполняется условие. Расстояние от подошвы фундамента до нижней границы называют мощностью сжимаемой толщи и
обозначают .
В пределах сжимаемой толщи для каждого элементарного слоя вычисляем средние значения дополнительных напряжений:
,
Осадку основания находят как сумму осадок элементарных слоев:
,
n- число слоев, на которое разбита сжимаемая толща.
Таблица 17.
Номер слоя | Z, м | σzp, кПа | σzpi, кПа | hi, м | Ei, МПа | Si,мм |
1 | 0 | 313,37 | 293,02 | 0,5 | 28 | 5,2 |
0,5 | 272,66 | |||||
2 | 222,55 | 0,5 | 28 | 4,0 | ||
1,0 | 172,44 | |||||
3 | 141,13 | 0,5 | 28 | 2,5 | ||
1,5 | 109,81 | |||||
4 | 91,02 | 0,5 | 28 | 1,6 | ||
2,0 | 72,23 | |||||
5 | 61,27 | 0,5 | 28 | 1,1 | ||
2,5 | 50,31 | |||||
6 | 44,05 | 0,5 | 28 | 0,8 | ||
3,0 | 37,78 | |||||
7 | 31,52 | 0,5 | 28 | 0,6 | ||
3,5 | 25,25 | |||||
Итого: | 15,8 | |||||
Итого: | 12,6 | |||||
Таким образом, осадка основания составляет см.
9. Расчет осадок фундаментов методом послойного суммирования
При расчете осадки фундамента методом послойного суммирования сначала находят дополнительное среднее давление р0, распределенное по подошве фундамента:
где рп — среднее давление по подошве фундамента от нагрузок, учитываемых при расчете по деформациям; ozg 0 — природное напряжение на уровне подошвы фундамента; Y — удельный вес грунта в пределах глубин заложения фундамента от природного рельефа d.
Зная ро, по формуле (6.4) определяют напряжения агр на разных глубинах под центром площади загружсния н строят эпюру OZP (рис. 7.2, а). Величина 0гр с глубиной убывает, поэтому при расчете целесообразно ограничиваться толщей, ниже которой деформации грунтов пренебрежительно малы. Нормы рекомендуют для обычных грунтов принимать сжимаемую толщу Нс до глубины, на которой напряжение о’гр не превышает 20 % природного напряжения, т. е.
Найдя значения a2g в пределах сжимаемой толщи, последнюю разбивают на слои применительно к.напластованию грунтов. При большой толщине отдельных пластов их делят на слои толщиной hi не более 0,46 (где b — ширина подошвы фундамента). Зная среднее давлениев каждом слое сжимаемой толщи, находят осадки фундаментаs в виде суммы осадок поверхностей отдельных слоев
где β коэффициент, зависящий от коэффициента бокового расширения грунта.
В основу метода послойного суммирования положены следующие допущения:
-грунт представляет собой сплошное, изотропное, линейно-деформированное тело;
-осадка обусловлена действием только напряжения 0zp, остальные пять компонентов напряжений не учитываются;
-боковое расширение грунта в основании невозможно;
-напряжениеопределяется под центром подошвы фундамента;
-при определении напряжения различием в сжимаемости грунтов отдельных слоев пренебрегают;
-фундаменты не обладают жесткостью;
-деформации рассматриваются только в пределах сжимаемой толщи мощностью.
10. Расчет осадок фундаментов методом линейно-деформируемого слоя конечной толщины
К. Е. Егоров решил задачу о деформации упругого слоя грунта, лежащего на несжимаемом основании, под действием всех местных нагрузок. При этом были приняты следующие допущения:
-грунт рассматриваемого слоя представляет собой линейно деформируемое тело;
-деформации в слое грунта развиваются под действием всех компонентов напряжений;
-осадка фундамента равна средней осадке поверхности слоя грунта, развивающейся под действием местной равномерно распределенной нагрузки;
-фундамент не обладает жесткостью;
-распределение напряжений в слое грунта соответствует задаче однородного полупространства, а жесткость подстилающего слоя учитывается поправочным коэффициентом kс.
С учетом допущений получена формула осадки фундамента
Где k— коэффициент, зависящий от формы подошвы фундамента и отношения толщины слоя однородного грунта Н к ширине подошвы b, определяемый по СНиП 2.02.01—83; v —коэффициент бокового расширения грунта: p — сроднее данлепне по подошве фундамента, принимаемое без вычета природного данлеипн на глубине его заложения; kc—коэффициент, учитывающий концентрацию напряжений при наличии жесткого подстилающего слоя; E0 — модуль деформации грунта.
Значение коэффициента kcзависит от отношения (где H —мощность сжимаемой толщи):
Для слоистого залегания грунтов (рис. 7.2,6) в СНиП 2.02.01—83 формула (7.8) приведена к виду:
Где km—эмпирический коэффициент, принимаемый по СНиП 2.02.01—83, табл. 3, прилож. 2; ki и ki-1 — коэффициенты, принимаемые по СНиП 2.02.01—83, табл. 4, прилож. 2; E0i—модуль деформации i-го слоя грунта.
Мощность сжимаемой толщи Н, в пределах которой следует учитывать деформации грунта основания, устанавливается по эмпирической формуле
Где b — ширина подошвы фундамента, м; kp — коэффициент (принимается kp=0.8 при среднем давлении под подошвой фундаментаp=100 кПа при р=500 кПа, при промежуточных значениях — по интерполяции).
Метод линейно деформируемого слоя для определения осадки обычно используется при ширине подошвы фундаментов более 10 м.
Метод — послойное суммирование — Большая Энциклопедия Нефти и Газа, статья, страница 1
Метод — послойное суммирование
Cтраница 1
Метод послойного суммирования позволяет определять осадку как отдельно стоящего фундамента, так и фундамента, на осадку которого влияют нагрузки, передаваемые соседними фундаментами, а также нагрузки на полы и прилегающие площади. [1]
Метод послойного суммирования осадок позволяет учесть неоднородность основания, выражающуюся в изменении модуля деформации по глубине. [2]
Метод послойного суммирования в обычной его интерпретации позволяет рассчитать осадку по одной или нескольким вертикалям. Средняя же осадка определяется средней величиной осадок для различных вертикалей. Это, с одной стороны, искажает действительный результат, а с другой, — существенно увеличивает объем вычислений, если брать большое число вертикалей. [3]
Методом послойного суммирования просчитана кривая осадок ( рис. 35) для основания резервуара. Глубина сжимаемой толщи основания при этом взята равной, 25 — м из, соотношения o z0 2 ре, где ре — бытовое давление грунта. [5]
Методом послойного суммирования осадок по осевым напряжениям рекомендуется пользоваться и при определении дополнительных осадок, возникающих от взаимного влияния соседних фундаментов, а также осадок уже существующих фундаментов, возникающих вследствие загружения соседних площадей. При таких условиях задача нахождения осадки осложняется тем, что по оси данного фундамента необходимо найти дополнительные напряжения от соседних фундаментов или загруженных площадей. Эти напряжения находят по методу угловых точек, если рассматриваемую ось принять за угловую. Метод угловых точек подробно изложен и проиллюстрирован примером в гл. Полная осадка с учетом влияния соседней нагрузки определяется от суммарной эпюры напряжений по рассматриваемой оси. [6]
Применение метода послойного суммирования наиболее эффективно при больших размерах подошвы фундамента и при слоистых основаниях с резко изменяющейся сжимаемостью отдельных слоев. Послойное суммирование осадок может быть выполнено и с учетом всех трех компонентов напряжений, действующих в основании. [7]
Идея метода послойного суммирования заключается в следующем. [8]
Развивая основные особенности метода послойного суммирования для определения полной осадки моренных грунтов, Е. Ф. Винокуров ( 1963 г.) предлагает принимать величину сжимаемой толщи основания на глубине, где осадка слоя толщиной 0 2 b составляет 15 % осадки первого слоя. [9]
При расчете осадок отдельно стоящих фундаментов методом послойного суммирования следует учитывать схему распределения вертикальных давлений в толще основания, приведенную на рис. 3.20 ( 1 прил. [10]
При определении деформаций основания в настоящее время используют либо метод послойного суммирования, либо метод упругого полупространства. Однако оба этих Метода не учитывают наличие сил морозного пучения. [11]
Суммарная осадка фундамента при его повторном нагружении Sem S AS может быть установлена, если в известную форму метода послойного суммирования [48] внести коррективы, которые бы в первом приближении учитывали концентрацию вертикальных напряжений, возникающую при повторном нагружении лессовых суглинков. [12]
В этой связи представляется целесообразным применить другой принцип определения толщины сжимаемого слоя грунта, а именно тот, который используется при вычислении осадок фундаментов методом послойного суммирования. Нижнюю границу Н сжимаемой толщи принимаем на той глубине от подошвы фундамента, на которой дополнительное давление ( под центром тяжести подошвы) от передаваемой фундаментом нагрузки составляет 20 % бытового ( природного) давления. [13]
Задача 4.2.8. Используя значения напряжений aZG и aZP, найденные при решение задач 4.1.1 ( площадка А) и 4.1.12, вычислите осадку основания насыпи методом послойного суммирования. Модуль деформации суглинка примите равным 9 0 МПа, песка — 16 0 МПа. На глубине более 10 м залегает малосжимаемый грунт, деформацией которого можно пренебречь. [15]
Страницы: 1 2
Расчёт осадки фундамента методом послойного суммирования: причины деформаций оснований
Сегодня расчет осадки фундамента методом послойного суммирования имеет особую практическую важность, без этих данных спроектировать прочное основание невозможно. Этот пункт есть в нормативных требованиях по определенным деформациям опорных установок. Допущенные при монтаже опоры здания ошибки или неправильно подобранный материал дадут о себе знать процессом неравномерного проседания, что приведет к самым неприятным и даже опасным последствиям – разрушению.
Основной фактор, влияющий на степень проседания – это состав грунта. Все они делятся на виды, каждый из них имеет прочность в большей или меньшей степени. Самые надежные почвы скальные, основой для которых являются монолитные плиты. Далее, менее прочные идут дисперсные грунты, которые состоят из минеральных зерен разного размера, по-другому их называют еще несвязные, так как они не удерживают влагу.
Основные причины осадки
Симптом осадки оснавания
Осадка – это смещение основания в вертикальном положении, как следствие деформации грунтового слоя. А причин подвижности несколько:
- закладка проводилась гораздо выше нормы;
- поднятие грунтовых вод, попавших под фундамент;
- длительный срок эксплуатации дома;
- уплотнение почвы;
- дефекты конструкции;
- некачественные материалы;
- надстройка лишних, не предусмотренных на начало строительства здания этажей.
- подземные работы, проводимые вблизи от фундамента.
Разрушительные явления:
- прогибы/выгибы опоры;
- сдвиг конструкции;
- крен (сильный наклон) здания;
- перекос;
- закручивание, горизонтальные перемещения.
Необходимы расчёты!
Это все касается критического состояния, но существует также прогнозируемый процесс осадки фундамента, среди которых есть предельно допустимые для каждого типа здания отдельно. Железобетонные конструкции могут дать осадку до 8 см, здания на стальных сваях и опорах – до 12 см, деревянные, сборно-щитовые дома могут осесть до 15 см максимум.
Сегодня не установлена конкретная нормативная величина предельно допустимой нормы дополнительной осадки. Как правило, в документах не указывается различие между полученной при возведении здания, первоначальной и дополнительной осадкой. Для кирпичного дома это примерно 10-12 см. Последствие неравномерности, как известно – это перекосы, трещины, в худшем случае обрушение.
Расчет осадки свайного фундамента
Такие установки используются для самых разных конструкций, имеют активное распространение благодаря лёгкости монтажа, малозатратности и прочности. Специфика расчета осадки подобных оснований несколько отличается от схем для других оснований. Как быть, когда обнаружились трещины в основании и перекосы дома?
Для начала нужно разобраться, что вызвало этот процесс, понаблюдать за ним, обнаружив или исключив расширение и другие сильные изменения. Есть множество методов для установления точной расчетной осадки и самый из них популярный способ послойного суммирования.
Рассмотрите примеры осадки
Производится осадка методом послойного суммирования опоры дома под влиянием давления в фундаменте, спровоцированной нагрузкой рядом стоящих оснований в таком порядке:
- наносятся на геологический разрез очертания фундамента;
- подошва делится на горизонтальный, однородный по сжимаемости слой;
- рассчитываются стандартные показатели давления, образующиеся в месте пересечения вертикальной оси;
- устанавливается величина активной зоны;
- по формуле определяется осадка.
Полученные вычисления очень нужны, так как эти цифры сравниваются с допустимой осадкой. Она указывает на деформации, которые, возможно, произойдут в будущем для каждой отдельной конструкции. Если выяснится, что предельная осадка превышает нормы, то добавляются еще сваи, для упрочнения фундамента.
Такая осадка фундамента методом послойного суммирования может проводиться при следующих условиях: грунт у основания – плотное, линейно-деформируемое изотропное тело; невозможно расширение грунта по бокам в фундаменте; опора дома не имеет жесткости.
Выявленная осадка – это стабилизированная деформация, то есть она достигается естественным путем в течение нескольких десятков лет под воздействием грунтов. В глинистых, водонасыщенных почвах стабилизация может выходить за пределы десятилетий до сотен лет.
Подробнее о способе вычисления
Расчёт дома и его особенностей
Вычисление путем послойного суммирования дает возможность определить осадку не только возводимого, а также рядом стоящих оснований, учесть разнородность, которая выражается в изменениях конструкции по глубине. Данным способом можно рассчитать осадку сразу нескольких вертикалей. Сложность послойного суммирования в том, что здесь нужно найти дополнительные нагрузки, извне, дающие напор на фундамент возводимого сооружения. Напряжения находятся методом угловой точки, когда рабочая ось принимается за угловую.
Особенно удобен метод послойного суммирования при большой подошве результат всегда эффективный. Особенно когда структура основания слоистая и резко меняется, когда сжимаются отдельные слои.
Во время определения осадки обязательно учитывается воздействие глубины заложения фундамента и по ней устанавливаются суммированные пределы. До возведения основания грунт, находящийся на уровне подошвы, был обжат двоением вышележащей почвы, поэтому чтобы определить величину осадки, за начальную точку давления принимается влияние веса на основании от дома.
Влияние слабых грунтов на состояние опор для дома
Когда по всему периметру сооружения слои напластования грунта однородные, которые не сжимаются при углублении, то расчеты проводятся по средней осадке фундамента. Зачастую принимают во внимание временную деформацию, также отдельно для каждого строительства и эксплуатации. Помимо основных нагрузок на основание учитывается влияние на грунт соседних фундаментов. Если в процессе строительства опоры под дом закладываются не одновременно, то оценивается неравномерная деформация рядом стоящих оснований.
При обнаружении в активной зоне грунта слоя, имеющего слабые несущие способности, чем пласт выше, то нужно выявить, как он может повлиять в целом на изменение фундамента. Этот слой берется за расчет, кода полное давление нагрузок в верхней его части не выше положенного напора для фактического фундамента, который будет опираться на этот грунт.
Рекомендации по закладке бетона во избежание просадки
Всем знакома ситуация когда приходится больше тратиться на ремонт, чем на строительство. Учитывая этот факт, стоит внимательно изначально относиться к процессу сооружения зданий с учетом всех технологий строительства. Так вы оградите себя от многих неприятностей.
Качественное надежное строительство – это хороший выбор материалов, обустройство дренажной конструкции и системы гидроизоляции. При возведении опоры для дома нужно использовать только надежный бетонный раствор и не скупиться на него. Плохой бетон, а в следствие фундамент непременно приведет к проседанию.
Важно не допустить литье бетона на промерзшую почву. Если нет возможности провести строительно-монтажные работы в теплое время года, тогда стоит позаботиться о согреве и защите раствора от проникновения ветра и холода. Смешивать бетон с водой нельзя, это существенно понизит его эксплуатационные характеристики, в том числе прочность. И не стоит забывать про определение осадки методом послойного суммирования фундамента.
Строительные работы, проводимые летом, не должны начинаться на 30°C жаре. Это может стать причиной ложного резкого сцепления материала. Лучшее время для заливки – вечер или раннее утро, когда солнце еще не сильно палящее. Действия выполняются только на однородном, непромерзлом грунте, на качественно подготовленную подушку.
Придерживаясь этих простых рекомендаций, вы сможете избежать неприятностей, связанных с осадкой основания здания. Когда все же вы заметили трещину, необходимо срочно провести соответствующий расчет осадки методом послойного суммирования и ваш дом простоит еще много лет. Обеспечьте опорному основанию дома достаточную площадь подошвы.
Метод послойного суммирования нелинейных отложений грунтового основания с учетом воздействия возмущений
Чжао Минхуа, Ю Сяо. Ван Исун. Механика грунтов и фундаментостроение [М]. Ухань: Wuhan University of Technology Press, 2003: 63 — 66. (на китайском языке)
Ян Гуанхуа. Расчет нелинейной осадки грунтового основания с использованием метода касательного модуля ненарушенного грунта [J]. Китайский журнал геотехнической инженерии. 2006, 28 (11): 1927-1931.(На китайском языке)
Л.И. Ренпин. Нелинейная осадка грунта рассчитывается по уравнению модуля касательной к гиперболической кривой [J]. Механика горных пород и грунтов. 2008. 29 (7): 1987–1992. (На китайском языке)
CAO Wengui, TIAN Xiaojuan, LIU Haitao, et al. Усовершенствована методика расчета нелинейных осаждений ленточного фундамента [J]. Китайский журнал механики и инженерии горных пород, 2009 г., 28 (11): 2262–2272. (На китайском языке)
HE Siming. Модифицированное суммирование слоев на основе теории упругопластичности [J].Механика горных пород и грунтов, 2003. 24 (1): 88 — 92. (на китайском языке)
CAO Wengui. ТАН Ини. Ван Цзяньин. Метод послойного суммирования осадки композитного грунта с кучками рыхлого материала на основе модели пористой среды [J]. Журнал Хунаньского университета: естественные науки. 2014.41 (11): 87 — 95. (на китайском языке)
ХЭ Чанжун. Ян Гуйфан. Влияние параметров модели Дункана-Чанга на результаты расчетов [J]. Китайский журнал геотехнической инженерии.2002. 24 (2): 170– 174. (на китайском языке)
НЕ Чуньбао. ШЕН Цзяньхуа. CAI Jian. и другие. Обратный анализ нелинейной модели фундамента Дункана-Чанга [J]. Китайский журнал геотехнической инженерии. 2009, 31 (4): 634 — 638. (на китайском языке)
CAO Wengui. DENG Xiangjun. ЧЖАН Чао. Метод послойного суммирования для осадки фундамента на основе конститутивной модели Дункана-Чанга [J]. Китайский журнал геотехнической инженерии. 2013, 35 (4): 643 — 649. (на китайском языке)
Дункан Дж. М.CHANG С. Y. Нелинейный анализ напряжений и деформаций в грунтах [JJ. Журнал отдела механики грунтов и фундаментов. ASCE, 1970, 96CSM5): 1629–1653.
KONDNER R L. Гиперболический стресс-деформационный отклик связных грунтов [J]. Журнал механики грунта и основания, ASCE, 1963, 89 (SM1): 115-143.
ШЭН Чжуцзян. Модель упругопластического повреждения цементированных глин [J]. Китайский журнал геотехнической инженерии, 1993, 15 (3), 21-28 (на китайском языке)
У вас недостаточно прав для чтения этого закона в это время
У вас недостаточно прав для чтения этого закона в это время Логотип Public.Resource.OrgЛоготип представляет собой черно-белую линию улыбающегося тюленя с усами. Вокруг печати находится красная круглая полоса с белым шрифтом, в верхней половине которого написано «Печать одобрения создания», а в нижней половине — «Public.Resource.Org». На внешней стороне красной круглой марки находится круг. серебряная круглая полоса с зубчатыми краями, напоминающая печать из серебряной фольги.Public.Resource.Org
Хилдсбург, Калифорния, 95448
США
Этот документ в настоящее время недоступен для вас!
Уважаемый гражданин:
В настоящее время вам временно отказано в доступе к этому документу.
Public Resource ведет судебный процесс за ваше право читать и говорить о законе. Для получения дополнительной информации см. Досье по рассматриваемому судебному делу:
Американское общество испытаний и материалов (ASTM), Национальная ассоциация противопожарной защиты (NFPA), и Американское общество инженеров по отоплению, холодильной технике и кондиционированию воздуха (ASHRAE) против Public.Resource.Org (общедоступный ресурс), DCD 1: 13-cv-01215, Объединенный окружной суд округа Колумбия [1]
Ваш доступ к этому документу, который является законом Соединенных Штатов Америки, был временно отключен, пока мы боремся за ваше право читать и говорить о законах, по которым мы решаем управлять собой как демократическим обществом.
Чтобы подать заявку на получение лицензии на ознакомление с этим законом, ознакомьтесь с Сводом федеральных нормативных актов или применимыми законами и постановлениями штата. на имя и адрес продавца. Для получения дополнительной информации о постановлениях правительства и ваших правах гражданина в соответствии с нормами закона , пожалуйста, прочтите мое свидетельство перед Конгрессом Соединенных Штатов. Вы можете найти более подробную информацию о нашей деятельности на общедоступном ресурсе. в нашем реестре деятельности за 2015 год. [2] [3]
Спасибо за интерес к чтению закона.Информированные граждане — это фундаментальное требование для работы нашей демократии. Благодарим вас за усилия и приносим извинения за неудобства.
С уважением,
Карл Маламуд
Public.Resource.Org
7 ноября 2015 г.
Банкноты
[1] http://www.archive.org/download/gov.uscourts.dcd.161410/gov.uscourts.dcd.161410.docket.html
[2] https://public.resource.org/edicts/
[3] https://public.resource.org/pro.docket.2015.html
онлайн-курсов PDH. PDH для профессиональных инженеров. ПДХ Инжиниринг.
«Мне нравится широта ваших курсов по HVAC; не только экологичность или экономия энергии
курсов. «
Russell Bailey, P.E.
Нью-Йорк
«Это укрепило мои текущие знания и научило меня еще нескольким новым вещам.
, чтобы познакомить меня с новыми источниками
информации.»
Стивен Дедак, P.E.
Нью-Джерси
«Материал был очень информативным и организованным. Я многому научился, и они были
.очень быстро отвечает на вопросы.
Это было на высшем уровне. Будет использовать
снова. Спасибо. «
Blair Hayward, P.E.
Альберта, Канада
«Простой в использовании сайт.Хорошо организовано. Я действительно буду снова пользоваться вашими услугами.
проеду по вашей компании
имя другим на работе. «
Roy Pfleiderer, P.E.
Нью-Йорк
«Справочные материалы были превосходными, и курс был очень информативным, особенно потому, что я думал, что я уже знаком.
с подробной информацией о Канзасе
Городская авария Хаятт.»
Майкл Морган, P.E.
Техас
«Мне очень нравится ваша бизнес-модель. Мне нравится просматривать текст перед покупкой. Я нашел класс
.информативно и полезно
в моей работе ».
Вильям Сенкевич, П.Е.
Флорида
«У вас большой выбор курсов, а статьи очень информативны.Вы
— лучшее, что я нашел ».
Russell Smith, P.E.
Пенсильвания
«Я считаю, что такой подход позволяет работающему инженеру легко зарабатывать PDH, давая время на просмотр
материал. «
»Jesus Sierra, P.E.
Калифорния
«Спасибо, что позволили мне просмотреть неправильные ответы.На самом деле
человек узнает больше
от отказов ».
John Scondras, P.E.
Пенсильвания
«Курс составлен хорошо, и использование тематических исследований является эффективным.
способ обучения. «
Джек Лундберг, P.E.
Висконсин
«Я очень впечатлен тем, как вы представляете курсы; i.е., позволяя
студент для ознакомления с курсом
материала до оплаты и
получает викторину «
Арвин Свангер, П.Е.
Вирджиния
«Спасибо за то, что вы предложили все эти замечательные курсы. Я определенно выучил и
получил огромное удовольствие «.
Мехди Рахими, П.Е.
Нью-Йорк
«Я очень доволен предлагаемыми курсами, качеством материалов и простотой поиска.
в режиме онлайн
курсов.»
Уильям Валериоти, P.E.
Техас
«Этот материал в значительной степени оправдал мои ожидания. По курсу было легко следовать. Фотографии в основном обеспечивали хорошее наглядное представление о
.обсуждаемых тем ».
Майкл Райан, P.E.
Пенсильвания
«Именно то, что я искал. Потребовался 1 балл по этике, и я нашел его здесь.»
Джеральд Нотт, П.Е.
Нью-Джерси
«Это был мой первый онлайн-опыт получения необходимых мне кредитов PDH. Это было
информативно, выгодно и экономично.
Я очень рекомендую
всем инженерам ».
Джеймс Шурелл, P.E.
Огайо
«Я понимаю, что вопросы относятся к« реальному миру »и имеют отношение к моей практике, и
не на основании какого-то неясного раздела
законов, которые не применяются
— «нормальная» практика.»
Марк Каноник, П.Е.
Нью-Йорк
«Отличный опыт! Я многому научился, чтобы перенести его на свой медицинский прибор.
организация «
Иван Харлан, П.Е.
Теннесси
«Материалы курса имели хорошее содержание, не слишком математическое, с хорошим акцентом на практическое применение технологий».
Юджин Бойл, П.E.
Калифорния
«Это был очень приятный опыт. Тема была интересной и хорошо изложенной,
а онлайн-формат был очень
Доступно и просто
использовать. Большое спасибо «.
Патрисия Адамс, P.E.
Канзас
«Отличный способ добиться соответствия требованиям PE Continuing Education в рамках ограничений по времени лицензиата.»
Джозеф Фриссора, P.E.
Нью-Джерси
«Должен признаться, я действительно многому научился. Помогает иметь печатный тест во время
обзор текстового материала. Я
также оценил просмотр
предоставлено фактических случаев «
Жаклин Брукс, П.Е.
Флорида
«Документ» Общие ошибки ADA при проектировании объектов «очень полезен.
испытание потребовало исследования в
документ но ответы были
в наличии. «
Гарольд Катлер, П.Е.
Массачусетс
«Я эффективно использовал свое время. Спасибо за широкий выбор вариантов.
в транспортной инженерии, что мне нужно
для выполнения требований
Сертификат ВОМ.»
Джозеф Гилрой, P.E.
Иллинойс
«Очень удобный и доступный способ заработать CEU для моих требований PG в Делавэре».
Ричард Роадс, P.E.
Мэриленд
«Я многому научился с защитным заземлением. До сих пор все курсы, которые я прошел, были отличными.
Надеюсь увидеть больше 40%
курсов со скидкой.»
Кристина Николас, P.E.
Нью-Йорк
«Только что сдал экзамен по радиологическим стандартам и с нетерпением жду возможности сдать дополнительный
курсов. Процесс прост, и
намного эффективнее, чем
в пути «.
Деннис Мейер, P.E.
Айдахо
«Услуги, предоставляемые CEDengineering, очень полезны для профессионалов.
Инженеры получат блоки PDH
в любое время.Очень удобно ».
Пол Абелла, P.E.
Аризона
«Пока все отлично! Поскольку я постоянно работаю матерью двоих детей, у меня мало
время искать где
получить мои кредиты от. «
Кристен Фаррелл, P.E.
Висконсин
«Это было очень познавательно и познавательно.Легко для понимания с иллюстрациями
и графики; определенно делает это
проще поглотить все
теории »
Виктор Окампо, P.Eng.
Альберта, Канада
«Хороший обзор принципов работы с полупроводниками. Мне понравилось пройти курс по
.мой собственный темп во время моего утром
до метро
на работу.»
Клиффорд Гринблатт, П.Е.
Мэриленд
«Просто найти интересные курсы, скачать документы и пройти
викторина. Я бы очень рекомендовал
вам на любой PE, требующий
CE единиц. «
Марк Хардкасл, П.Е.
Миссури
«Очень хороший выбор тем из многих областей техники.»
Randall Dreiling, P.E.
Миссури
«Я заново узнал то, что забыл. Я также рад оказать финансовую помощь
по ваш промо-адрес который
сниженная цена
на 40% «
Конрадо Казем, П.E.
Теннесси
«Отличный курс по разумной цене. Воспользуюсь вашими услугами в будущем».
Charles Fleischer, P.E.
Нью-Йорк
«Это был хороший тест и фактически подтвердил, что я прочитал профессиональную этику
кодов и Нью-Мексико
регламентов. «
Брун Гильберт, П.E.
Калифорния
«Мне очень понравились занятия. Они стоили потраченного времени и усилий».
Дэвид Рейнольдс, P.E.
Канзас
«Очень доволен качеством тестовых документов. Буду использовать CEDengineerng
.при необходимости дополнительно
аттестат. «
Томас Каппеллин, П.E.
Иллинойс
«У меня истек срок действия курса, но вы все же выполнили свое обязательство и дали
мне то, за что я заплатил — много
оценено! «
Джефф Ханслик, P.E.
Оклахома
«CEDengineering предлагает удобные, экономичные и актуальные курсы.
для инженера ».
Майк Зайдл, П.E.
Небраска
«Курс был по разумной цене, а материал краток.
хорошо организовано. «
Glen Schwartz, P.E.
Нью-Джерси
«Вопросы подходили для уроков, а материал урока —
.хороший справочный материал
для деревянного дизайна. «
Брайан Адамс, П.E.
Миннесота
«Отлично, я смог получить полезные рекомендации по простому телефонному звонку.»
Роберт Велнер, P.E.
Нью-Йорк
«У меня был большой опыт работы в прибрежном строительстве — проектирование
Building курс и
очень рекомендую .»
Денис Солано, P.E.
Флорида
«Очень понятный, хорошо организованный веб-сайт. Материалы курса этики Нью-Джерси были очень хорошими
хорошо подготовлен. «
Юджин Брэкбилл, P.E.
Коннектикут
«Очень хороший опыт. Мне нравится возможность загружать учебные материалы на
.обзор везде и
всякий раз, когда.»
Тим Чиддикс, P.E.
Колорадо
«Отлично! Поддерживаю широкий выбор тем на выбор».
Уильям Бараттино, P.E.
Вирджиния
«Процесс прямой, никакой ерунды. Хороший опыт.»
Тайрон Бааш, П.E.
Иллинойс
«Вопросы на экзамене были зондирующими и демонстрировали понимание
материала. Полная
и комплексное ».
Майкл Тобин, P.E.
Аризона
«Это мой второй курс, и мне понравилось то, что мне предложили этот курс
поможет по моей линии
работ.»
Рики Хефлин, P.E.
Оклахома
«Очень быстро и легко ориентироваться. Я определенно буду использовать этот сайт снова».
Анджела Уотсон, P.E.
Монтана
«Легко выполнить. Нет путаницы при подходе к сдаче теста или записи сертификата».
Кеннет Пейдж, П.E.
Мэриленд
«Это был отличный источник информации о солнечном нагреве воды. Информативный
и отличный освежитель ».
Луан Мане, П.Е.
Conneticut
«Мне нравится подход к регистрации и возможность читать материалы в автономном режиме, а затем
Вернуться, чтобы пройти викторину «
Алекс Млсна, П.E.
Индиана
«Я оценил объем информации, предоставленной для класса. Я знаю
это вся информация, которую я могу
использование в реальных жизненных ситуациях »
Натали Дерингер, P.E.
Южная Дакота
«Обзорные материалы и образец теста были достаточно подробными, чтобы позволить мне
успешно завершено
курс.»
Ира Бродский, П.Е.
Нью-Джерси
«Веб-сайт прост в использовании, вы можете скачать материалы для изучения, а потом вернуться
и пройдите викторину. Очень
удобно а на моем
собственный график «
Майкл Глэдд, P.E.
Грузия
«Спасибо за хорошие курсы на протяжении многих лет.»
Деннис Фундзак, П.Е.
Огайо
«Очень легко зарегистрироваться, получить доступ к курсу, пройти тест и распечатать PDH
сертификат. Спасибо за создание
процесс простой ».
Фред Шейбе, P.E.
Висконсин
«Положительный опыт.Быстро нашел курс, который соответствовал моим потребностям, и закончил
один час PDH в
один час. «
Стив Торкильдсон, P.E.
Южная Каролина
«Мне понравилась возможность скачать документы для проверки содержания
и пригодность, до
имея платить за
материал .»
Ричард Вимеленберг, P.E.
Мэриленд
«Это хорошее напоминание об ЭЭ для инженеров, не занимающихся электричеством».
Дуглас Стаффорд, P.E.
Техас
«Всегда есть возможности для улучшения, но я ничего не могу придумать в вашем
.процесс, который требует
улучшение.»
Thomas Stalcup, P.E.
Арканзас
«Мне очень нравится удобство участия в онлайн-викторине и получение сразу
сертификат. «
Марлен Делани, П.Е.
Иллинойс
«Учебные модули CEDengineering — это очень удобный способ доступа к информации по номеру
.много разные технические зоны за пределами
по своей специализации без
надо ехать.»
Гектор Герреро, П.Е.
Грузия
Создание новых слоев и моделей с помощью подкласса
Автор: fchollet
Дата создания: 2019/03/01
Последнее изменение: 2020/04/13
Описание: Полное руководство по написанию объектов Layer
и Model
с нуля.
Просмотреть в Colab • Исходный код GitHub
Настройка
импортировать тензорный поток как tf
из tenorflow import keras
Уровень
Класс
: комбинация состояния (весов) и некоторых вычислений Одной из центральных абстракций в Керасе является класс Layer
.Слой
инкапсулирует как состояние («веса» слоя), так и преобразование из
входы в выходы («вызов», прямой проход уровня).
Вот плотно связанный слой. У него есть состояние: переменные w
и b
.
класс Линейный (keras.layers.Layer):
def __init __ (self, units = 32, input_dim = 32):
super (Линейный, сам) .__ init __ ()
w_init = tf.random_normal_initializer ()
self.w = tf.Variable (
начальное_значение = w_init (shape = (input_dim, units), dtype = "float32"),
trainable = True,
)
b_init = tf.zeros_initializer ()
self.b = tf.Variable (
initial_value = b_init (shape = (units,), dtype = "float32"), trainable = True
)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.b
Вы могли бы использовать слой, вызывая его на некоторых входных данных тензора, как в Python функция.
x = tf.ones ((2, 2))
linear_layer = Линейный (4, 2)
y = линейный_уровень (x)
печать (у)
тф.Тенсор (
[[0,01103698 0,03099662 -0.1009444 0,10721317]
[0,01103698 0,03099662 -0,1009444 0,10721317]], shape = (2, 4), dtype = float32)
Обратите внимание, что веса w
и b
автоматически отслеживаются слоем при
устанавливается как атрибуты слоя:
assert linear_layer.weights == [linear_layer.w, linear_layer.b]
Обратите внимание, что у вас также есть доступ к более быстрому ярлыку для добавления веса к слою:
метод add_weight ()
:
класс Linear (keras.Layers.Layer):
def __init __ (self, units = 32, input_dim = 32):
super (Линейный, сам) .__ init __ ()
self.w = self.add_weight (
shape = (input_dim, units), initializer = "random_normal", trainable = True
)
self.b = self.add_weight (shape = (units,), initializer = "zeros", trainable = True)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.b
х = tf.ones ((2, 2))
linear_layer = Линейный (4, 2)
y = линейный_уровень (x)
печать (у)
тс.Тензор(
[[-0,09724902 0,04435382 0,06548684 0,1264643]
[-0.09724902 0,04435382 0,06548684 0,1264643]], shape = (2, 4), dtype = float32)
Слои могут иметь нетренируемые веса
Помимо обучаемых отягощений, вы можете добавить к слою необучаемые отягощения как хорошо. Такие веса не должны приниматься во внимание во время обратное распространение при обучении слоя.
Вот как добавить и использовать нетренируемый вес:
класс ComputeSum (keras.Layers.Layer):
def __init __ (self, input_dim):
super (ComputeSum, self) .__ init __ ()
self.total = tf.Variable (initial_value = tf.zeros ((input_dim,)), trainable = False)
вызов def (self, вводы):
self.total.assign_add (tf.reduce_sum (входы, ось = 0))
вернуть self.total
х = tf.ones ((2, 2))
my_sum = ComputeSum (2)
у = моя_сумма (х)
печать (y.numpy ())
у = моя_сумма (х)
печать (y.numpy ())
Это часть слоя , вес
, но он классифицируется как не обучаемый вес:
print ("веса:", len (my_sum.веса))
print ("необучаемые веса:", len (my_sum.non_trainable_weights))
# Это не входит в тренируемые веса:
print ("trainable_weights:", my_sum.trainable_weights)
весов: 1
нетренируемые веса: 1
trainable_weights: []
Лучшая практика: отложить создание веса до тех пор, пока не станет известна форма входных данных
Наш слой Linear
выше принял аргумент input_dim
, который использовался для вычисления
форма грузов w
и b
in __init __ ()
:
класс Linear (keras.Layers.Layer):
def __init __ (self, units = 32, input_dim = 32):
super (Линейный, сам) .__ init __ ()
self.w = self.add_weight (
shape = (input_dim, units), initializer = "random_normal", trainable = True
)
self.b = self.add_weight (shape = (units,), initializer = "zeros", trainable = True)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.b
Во многих случаях вы можете не знать заранее размер ваших входных данных, и вы хотел бы лениво создавать веса, когда это значение станет известно, когда-нибудь после создания экземпляра слоя.
В API Keras мы рекомендуем создавать веса слоев в сборке (self,
input_shape)
метод вашего слоя. Как это:
класс Линейный (keras.layers.Layer):
def __init __ (self, units = 32):
super (Линейный, сам) .__ init __ ()
self.units = единицы
def build (self, input_shape):
self.w = self.add_weight (
shape = (input_shape [-1], self.units),
инициализатор = "random_normal",
trainable = True,
)
себя.b = self.add_weight (
shape = (self.units,), initializer = "random_normal", trainable = True
)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.b
Метод __call __ ()
вашего слоя автоматически запустит сборку при первом запуске.
это называется. Теперь у вас есть ленивый слой, который проще в использовании:
# При создании экземпляра мы не знаем, на каких входах он будет вызван
linear_layer = Линейный (32)
# Веса слоя создаются динамически при первом вызове слоя
y = линейный_уровень (x)
Реализация build ()
отдельно, как показано выше, хорошо разделяет создание весов
только один раз из использования весов в каждом вызове.Однако для некоторых продвинутых кастомов
слоев, может стать непрактичным разделять создание состояния и вычисление.
Разработчикам уровня разрешено отложить создание веса до первого __call __ ()
,
но нужно позаботиться о том, чтобы в последующих вызовах использовались те же веса. Кроме того, поскольку __call __ ()
, скорее всего, будет впервые выполнен внутри функции tf.
,
любое создание переменной, которое происходит в __call __ ()
, должно быть заключено в tf.init_scope
.
Слои рекурсивно компонуются
Если вы назначаете экземпляр слоя как атрибут другого слоя, внешний слой начнет отслеживать веса, созданные внутренним слоем.
Мы рекомендуем создавать такие подслои в методе __init __ ()
и оставлять его на
первые __call __ ()
для запуска построения их весов.
класс MLPBlock (keras.layers.Layer):
def __init __ (сам):
super (MLPBlock, сам) .__ init __ ()
себя.linear_1 = линейный (32)
self.linear_2 = Линейный (32)
self.linear_3 = Линейный (1)
вызов def (self, вводы):
x = self.linear_1 (входные данные)
х = tf.nn.relu (х)
х = self.linear_2 (х)
х = tf.nn.relu (х)
вернуть self.linear_3 (x)
mlp = MLPBlock ()
y = mlp (tf.ones (shape = (3, 64))) # Первый вызов `mlp` создаст веса
print ("веса:", len (mlp.weights))
print ("обучаемые веса:", len (mlp.trainable_weights))
весов: 6
тренируемые веса: 6
Метод
add_loss ()
При написании метода call ()
слоя вы можете создавать тензоры потерь, которые
вы захотите использовать позже, при написании цикла обучения.Это можно сделать
вызов self.add_loss (значение)
:
# Слой, создающий потерю регуляризации активности
класс ActivityRegularizationLayer (keras.layers.Layer):
def __init __ (self, rate = 1e-2):
super (ActivityRegularizationLayer, сам) .__ init __ ()
self.rate = ставка
вызов def (self, вводы):
self.add_loss (self.rate * tf.reduce_sum (входы))
возврат входов
Эти потери (включая потери, создаваемые любым внутренним слоем) могут быть восстановлены через слой.убытки
. Это свойство сбрасывается в начале каждого __call __ ()
на
слой верхнего уровня, так что layer.losses
всегда содержит значения потерь
созданный во время последнего прямого прохода.
класс OuterLayer (keras.layers.Layer):
def __init __ (сам):
super (OuterLayer, сам) .__ init __ ()
self.activity_reg = ActivityRegularizationLayer (1e-2)
вызов def (self, вводы):
return self.activity_reg (входы)
слой = OuterLayer ()
assert len (layer.loss) == 0 # потерь пока нет, так как слой ни разу не вызывался
_ = слой (tf.zeros (1, 1))
assert len (layer.losses) == 1 # Мы создали одно значение потерь
# `layer.losses` сбрасывается в начале каждого __call__
_ = слой (tf.zeros (1, 1))
assert len (layer.losses) == 1 # Это потеря, созданная во время вызова выше
Кроме того, имущество потерь также содержит возникшие убытки от регуляризации.
на вес любого внутреннего слоя:
класс OuterLayerWithKernelRegularizer (keras.Layers.Layer):
def __init __ (сам):
super (OuterLayerWithKernelRegularizer, сам) .__ init __ ()
self.dense = keras.layers.Dense (
32, kernel_regularizer = tf.keras.regularizers.l2 (1e-3)
)
вызов def (self, вводы):
return self.dense (входы)
layer = OuterLayerWithKernelRegularizer ()
_ = слой (tf.zeros ((1, 1)))
# Это `1e-3 * sum (layer.dense.kernel ** 2)`,
# созданный `kernel_regularizer` выше.
печать (layer.losses)
[]
Эти потери следует учитывать при написании обучающих циклов, как это:
# Создать экземпляр оптимизатора.
optimizer = tf.keras.optimizers.SGD (скорость_учения = 1e-3)
loss_fn = keras.losses.SparseCategoricalCrossentropy (from_logits = True)
# Перебирать пакеты набора данных.
для x_batch_train, y_batch_train в train_dataset:
с tf.GradientTape () в качестве ленты:
logits = layer (x_batch_train) # Logits для этого мини-пакета
# Значение потерь для этой мини-партии
loss_value = loss_fn (y_batch_train, логиты)
# Добавьте дополнительные потери, созданные во время этого прямого прохода:
loss_value + = сумма (модель.убытки)
grads = tape.gradient (значение_потери, model.trainable_weights)
optimizer.apply_gradients (zip (grads, model.trainable_weights))
Подробное руководство по написанию обучающих циклов см. В руководство по написанию цикла обучения с нуля.
Эти потери также работают без проблем с fit ()
(они автоматически суммируются
и добавлен к основному убытку, если таковой имеется):
импортировать numpy как np
входы = keras.Input (shape = (3,))
output = ActivityRegularizationLayer () (входы)
модель = керас.Модель (входы, выходы)
# Если в `compile` передается потеря, регуляризация
К нему добавляется # убытков
model.compile (optimizer = "adam", loss = "mse")
model.fit (np.random.random ((2, 3)), np.random.random ((2, 3)))
# Также возможно не передавать какие-либо потери в `compile`,
# поскольку у модели уже есть потери, которые нужно минимизировать, через `add_loss`
# вызов во время прямого прохода!
model.compile (optimizer = "adam")
model.fit (np.random.random ((2, 3)), np.random.random ((2, 3)))
1/1 [==============================] - 0 с 131 мс / шаг - потеря: 0.1269
1/1 [==============================] - 0 с 45 мс / шаг - потеря: 0,0274
Метод
add_metric ()
Подобно add_loss ()
, слои также имеют метод add_metric ()
для отслеживания скользящего среднего количества во время обучения.
Рассмотрим следующий уровень: уровень «логистической конечной точки».
Он принимает в качестве входных данных прогнозы и цели, вычисляет убытки, которые отслеживает.
через add_loss ()
, и вычисляет скаляр точности, который отслеживает через add_metric ()
.
класс LogisticEndpoint (keras.layers.Layer):
def __init __ (self, name = None):
super (LogisticEndpoint, self) .__ init __ (имя = имя)
self.loss_fn = keras.losses.BinaryCrossentropy (from_logits = True)
self.accuracy_fn = keras.metrics.BinaryAccuracy ()
вызов def (self, target, logits, sample_weights = None):
# Вычислить значение потери времени на обучение и добавить его
# на слой с помощью `self.add_loss ()`.
потеря = self.loss_fn (цели, логиты, выборка_весов)
себя.add_loss (убыток)
# Зарегистрируйте точность как метрику и добавьте ее
# на слой с помощью `self.add_metric ()`.
acc = self.accuracy_fn (цели, логиты, выборочный_вес)
self.add_metric (acc, name = "precision")
# Возвращает тензор предсказания времени вывода (для `.predict ()`).
вернуть tf.nn.softmax (логиты)
Отслеживаемые таким образом показатели доступны через layer.metrics
:
слой = LogisticEndpoint ()
target = tf.ones ((2, 2))
logits = tf.единицы ((2, 2))
y = слой (цели, логиты)
print ("layer.metrics:", layer.metrics)
print ("текущее значение точности:", float (layer.metrics [0] .result ()))
layer.metrics: []
текущее значение точности: 1.0
Как и для add_loss ()
, эти показатели отслеживаются функцией fit ()
:
входов = keras.Input (shape = (3,), name = "inputs")
target = keras.Input (shape = (10,), name = "target")
логитс = керас.Layers.Dense (10) (входы)
прогнозы = LogisticEndpoint (name = "прогнозы") (логиты, цели)
model = keras.Model (входы = [входы, цели], выходы = прогнозы)
model.compile (optimizer = "adam")
data = {
"входы": np.random.random ((3, 3)),
"цели": np.random.random ((3, 10)),
}
model.fit (данные)
1/1 [==============================] - 0 с 240 мс / шаг - потеря: 0,9455 - двоичная_точность: 0,0000 e + 00
Вы можете дополнительно включить сериализацию на своих слоях
Если вам нужно, чтобы ваши пользовательские слои можно было сериализовать как часть
Функциональная модель, при желании можно реализовать get_config ()
метод:
класс Linear (keras.Layers.Layer):
def __init __ (self, units = 32):
super (Линейный, сам) .__ init __ ()
self.units = единицы
def build (self, input_shape):
self.w = self.add_weight (
shape = (input_shape [-1], self.units),
инициализатор = "random_normal",
trainable = True,
)
self.b = self.add_weight (
shape = (self.units,), initializer = "random_normal", trainable = True
)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.б
def get_config (сам):
return {"units": self.units}
# Теперь вы можете воссоздать слой из его конфигурации:
слой = Линейный (64)
config = layer.get_config ()
печать (конфигурация)
new_layer = Linear.from_config (конфигурация)
Обратите внимание, что метод __init __ ()
базового класса Layer
принимает ключевое слово
аргументы, в частности имя
и dtype
. Это хорошая практика.
эти аргументы родительскому классу в __init __ ()
и включить их в
конфигурация слоя:
класс Linear (keras.Layers.Layer):
def __init __ (self, units = 32, ** kwargs):
super (Линейный, сам) .__ init __ (** kwargs)
self.units = единицы
def build (self, input_shape):
self.w = self.add_weight (
shape = (input_shape [-1], self.units),
инициализатор = "random_normal",
trainable = True,
)
self.b = self.add_weight (
shape = (self.units,), initializer = "random_normal", trainable = True
)
вызов def (self, вводы):
return tf.matmul (входы, self.w) + self.b
def get_config (сам):
config = super (линейный, сам) .get_config ()
config.update ({"единицы": self.units})
вернуть конфигурацию
слой = Линейный (64)
config = layer.get_config ()
печать (конфигурация)
new_layer = Linear.from_config (конфигурация)
{'name': 'linear_8', 'trainable': True, 'dtype': 'float32', 'units': 64}
Если вам нужна большая гибкость при десериализации слоя из его конфигурации, вы
также может переопределить метод класса from_config ()
.Это база
реализация from_config ()
:
по умолчанию from_config (cls, config):
return cls (** config)
Чтобы узнать больше о сериализации и сохранении, см. Полный руководство по сохранению и сериализации моделей.
Привилегированный
обучение аргумент
в методе call ()
Некоторые слои, в частности слой BatchNormalization
и Dropout
слой, имеют разное поведение во время обучения и вывода.Для таких
слоев, стандартной практикой является предоставление аргумента обучающего
(логического) в
метод call ()
.
Выставляя этот аргумент в вызове call ()
, вы включаете встроенное обучение и
циклы оценки (например, fit ()
) для правильного использования слоя в обучении и
вывод.
класс CustomDropout (keras.layers.Layer):
def __init __ (self, rate, ** kwargs):
super (CustomDropout, self) .__ init __ (** kwargs)
себя.ставка = ставка
def call (self, inputs, training = None):
если обучение:
return tf.nn.dropout (входы, скорость = self.rate)
возврат входов
Привилегированная маска
аргумент
в методе call ()
Другой привилегированный аргумент, поддерживаемый функцией call ()
, - это аргумент маски
.
Вы найдете его во всех слоях Keras RNN. Маска - это логический тензор (один логическое значение на временной шаг на входе), используемое для пропуска определенных временных шагов ввода при обработке данных таймсерий.
Keras автоматически передаст правильный аргумент mask
в __call __ ()
для
слои, которые его поддерживают, когда маска создается предыдущим слоем.
Слои, генерирующие маски: Embedding
слой, настроенный с mask_zero = True
и Masking
.
Чтобы узнать больше о маскировке и написании слоев с маскировкой, пожалуйста, посмотрите руководство "понимание отступов и маскировки".
Модель
класс Как правило, вы будете использовать класс Layer
для определения внутренних вычислительных блоков,
и будет использовать класс Model
для определения внешней модели - объекта, который вы
буду тренироваться.
Например, в модели ResNet50 у вас будет несколько блоков ResNet
подкласс Layer
и одну модель
, охватывающую весь ResNet50
сеть.
Класс Model
имеет тот же API, что и Layer
, со следующими отличиями:
- Предоставляет встроенные циклы обучения, оценки и прогнозирования.
(
model.fit ()
,model.evaluate ()
,model.predict ()
). - Он предоставляет список своих внутренних слоев через модель
.слои
собственности. - Он предоставляет API сохранения и сериализации (
save ()
,save_weights ()
...)
Фактически, класс Layer
соответствует тому, что мы упоминаем в
литературу как «слой» (как «сверточный слой» или «повторяющийся слой») или как
«блок» (например, «блок ResNet» или «начальный блок»).
Между тем, класс Model
соответствует тому, что упоминается в
литература как «модель» (как в «модели глубокого обучения») или как «сеть» (как в
«глубокая нейронная сеть»).
Итак, если вам интересно, «следует ли мне использовать класс Layer
или класс Model
?»,
спросите себя: нужно ли мне по нему звонить fit ()
? Мне нужно будет позвонить по номеру save ()
в теме? В таком случае выберите модель
. Если нет (либо потому, что ваш класс - это просто блок
в более крупной системе или потому что вы сами пишете обучающий и сохраняете код),
используйте Layer
.
Например, мы могли бы взять наш пример мини-реснета, приведенный выше, и использовать его для создания Модель
, которую мы могли бы тренировать с fit ()
, и которую мы могли бы сэкономить с save_weights ()
:
класс ResNet (tf.keras.Model):
def __init __ (self, num_classes = 1000):
super (ResNet, сам) .__ init __ ()
self.block_1 = ResNetBlock ()
self.block_2 = ResNetBlock ()
self.global_pool = Layers.GlobalAveragePooling2D ()
self.classifier = Плотный (количество_классов)
вызов def (self, вводы):
x = self.block_1 (входы)
х = self.block_2 (х)
x = self.global_pool (x)
вернуть self.classifier (x)
resnet = ResNet ()
набор данных = ...
resnet.fit (набор данных, эпох = 10)
реснет.сохранить (путь к файлу)
Собираем все вместе: сквозной пример
Вот что вы уже узнали:
- Слой
__init __ ()
илиbuild ()
) и некоторых вычисление (определено в вызовеcall ()
). - Слои могут рекурсивно вкладываться для создания новых вычислительных блоков большего размера. Слои
- также могут создавать и отслеживать потери (обычно потери регуляризации).
в качестве показателей через
add_loss ()
иadd_metric ()
- Внешний контейнер, то, что вы хотите тренировать, - это
модель
.МодельLayer
, но с добавленными утилитами обучения и сериализации.
Давайте объединим все это в сквозной пример: мы собираемся для реализации вариационного автоэнкодера (VAE). Обучим его цифрам MNIST.
Наш VAE будет подклассом модели
, построенной как вложенная композиция слоев.
этот подкласс Layer
. Он будет характеризоваться потерей регуляризации (дивергенция KL).
из tensorflow.слои импорта keras
класс Sampling (Layers.Layer):
"" "Использует (z_mean, z_log_var) для выборки z, вектора, кодирующего цифру." ""
вызов def (self, вводы):
z_mean, z_log_var = входы
batch = tf.shape (z_mean) [0]
dim = tf.shape (z_mean) [1]
epsilon = tf.keras.backend.random_normal (shape = (партия, тусклый))
вернуть z_mean + tf.exp (0.5 * z_log_var) * epsilon
класс Encoder (слои.Layer):
"" "Отображает цифры MNIST в тройку (z_mean, z_log_var, z)." ""
def __init __ (self, latent_dim = 32, intermediate_dim = 64, name = "encoder", ** kwargs):
super (кодировщик, сам).__init __ (name = name, ** kwargs)
self.dense_proj = Layers.Dense (Intermediate_dim, Activation = "relu")
self.dense_mean = Layers.Dense (latent_dim)
self.dense_log_var = Layers.Dense (latent_dim)
self.sampling = Выборка ()
вызов def (self, вводы):
x = self.dense_proj (входные данные)
z_mean = self.dense_mean (x)
z_log_var = self.dense_log_var (x)
z = self.sampling ((z_mean, z_log_var))
вернуть z_mean, z_log_var, z
класс Decoder (слои.Layer):
"" "Преобразует z, вектор закодированных цифр, обратно в читаемую цифру."" "
def __init __ (self, original_dim, intermediate_dim = 64, name = "decoder", ** kwargs):
super (Декодер, сам) .__ init __ (name = name, ** kwargs)
self.dense_proj = Layers.Dense (Intermediate_dim, Activation = "relu")
self.dense_output = Layers.Dense (исходный_дим, активация = "сигмоид")
вызов def (self, вводы):
x = self.dense_proj (входные данные)
вернуть self.dense_output (x)
класс VariationalAutoEncoder (keras.Model):
"" "Объединяет кодировщик и декодер в сквозную модель для обучения."" "
def __init __ (
себя,
original_dim,
промежуточный_дим = 64,
latent_dim = 32,
name = "автоэнкодер",
** kwargs
):
super (VariationalAutoEncoder, self) .__ init __ (имя = имя, ** kwargs)
self.original_dim = original_dim
self.encoder = Кодировщик (latent_dim = latent_dim, intermediate_dim = intermediate_dim)
self.decoder = Декодер (исходный_дим, промежуточный_дим = промежуточный_дим)
вызов def (self, вводы):
z_mean, z_log_var, z = self.энкодер (входы)
реконструировано = self.decoder (z)
# Добавить потерю регуляризации дивергенции KL.
kl_loss = -0,5 * tf.reduce_mean (
z_log_var - tf.square (z_mean) - tf.exp (z_log_var) + 1
)
self.add_loss (kl_loss)
возвращение реконструировано
Напишем простой обучающий цикл на MNIST:
original_dim = 784
vae = VariationalAutoEncoder (исходный_дим, 64, 32)
optimizer = tf.keras.optimizers.Adam (learning_rate = 1e-3)
mse_loss_fn = tf.keras.losses.MeanSquaredError ()
loss_metric = tf.keras.metrics.Mean ()
(x_train, _), _ = tf.keras.datasets.mnist.load_data ()
x_train = x_train.reshape (60000, 784) .astype ("float32") / 255
train_dataset = tf.data.Dataset.from_tensor_slices (x_train)
train_dataset = train_dataset.shuffle (размер_буфера = 1024) .batch (64)
эпох = 2
# Перебираем эпохи.
для эпохи в диапазоне (эпох):
print ("Начало эпохи% d"% (эпоха,))
# Перебираем пакеты набора данных.
для шага x_batch_train в перечислении (train_dataset):
с тф.GradientTape () как лента:
реконструировано = vae (x_batch_train)
# Вычислить потерю реконструкции
loss = mse_loss_fn (x_batch_train, реконструировано)
loss + = sum (vae.losses) # Добавить убыток от регуляризации KLD
grads = tape.gradient (потеря, vae.trainable_weights)
optimizer.apply_gradients (zip (grads, vae.trainable_weights))
loss_metric (убыток)
если шаг% 100 == 0:
print ("шаг% d: средняя потеря =% .4f"% (шаг, loss_metric.result ()))
Начало эпохи 0
шаг 0: средняя потеря = 0.3431
шаг 100: средняя потеря = 0,1273
шаг 200: средний убыток = 0,1001
шаг 300: средняя потеря = 0,0897
шаг 400: средняя потеря = 0,0847
шаг 500: средняя потеря = 0,0812
шаг 600: средняя потеря = 0,0790
шаг 700: средняя потеря = 0,0774
шаг 800: средняя потеря = 0,0762
шаг 900: средняя потеря = 0,0751
Начало эпохи 1
шаг 0: средняя потеря = 0,0748
шаг 100: средняя потеря = 0,0742
шаг 200: средняя потеря = 0,0737
шаг 300: средняя потеря = 0,0732
шаг 400: средняя потеря = 0,0728
шаг 500: средняя потеря = 0,0724
шаг 600: средняя потеря = 0,0721
шаг 700: средняя потеря = 0.0718
шаг 800: средняя потеря = 0,0716
шаг 900: средняя потеря = 0,0713
Обратите внимание, что, поскольку VAE является подклассом Model
, он имеет встроенную программу обучения.
петли. Так что вы могли бы обучить его так:
vae = VariationalAutoEncoder (784, 64, 32)
optimizer = tf.keras.optimizers.Adam (learning_rate = 1e-3)
vae.compile (оптимизатор, loss = tf.keras.losses.MeanSquaredError ())
vae.fit (x_train, x_train, epochs = 2, batch_size = 64)
Эпоха 1/2
938/938 [==============================] - 2 с 2 мс / шаг - потеря: 0.0747
Эпоха 2/2
938/938 [==============================] - 2 с 2 мс / шаг - потеря: 0,0676
Помимо объектно-ориентированной разработки: функциональный API
Этот пример был для вас слишком много объектно-ориентированной разработки? Вы также можете строить модели с помощью функционального API. Важно отметить, что выбор того или иного стиля не мешает вам использовать компоненты написано в другом стиле: всегда можно смешать и сопоставить.
Например, в приведенном ниже примере функционального API повторно используется один и тот же уровень Sampling
.
мы определили в примере выше:
original_dim = 784
промежуточный_дим = 64
latent_dim = 32
# Определить модель кодировщика.original_inputs = tf.keras.Input (shape = (original_dim,), name = "encoder_input")
x = Layers.Dense (Intermediate_dim, Activation = "relu") (original_inputs)
z_mean = Layers.Dense (latent_dim, name = "z_mean") (x)
z_log_var = Layers.Dense (latent_dim, name = "z_log_var") (x)
z = Выборка () ((z_mean, z_log_var))
кодировщик = tf.keras.Model (входы = исходные_входы, выходы = z, имя = "кодировщик")
# Определить модель декодера.
latent_inputs = tf.keras.Input (shape = (latent_dim,), name = "z_sampling")
x = Layers.Dense (Intermediate_dim, Activation = "relu") (latent_inputs)
выходы = слои.Плотный (исходный_дим, активация = "сигмоид") (х)
decoder = tf.keras.Model (входы = скрытые_входы, выходы = выходы, name = "декодер")
# Определить модель VAE.
выходы = декодер (z)
vae = tf.keras.Model (входы = исходные_входы, выходы = выходы, name = "vae")
# Добавить потерю регуляризации дивергенции KL.
kl_loss = -0.5 * tf.reduce_mean (z_log_var - tf.square (z_mean) - tf.exp (z_log_var) + 1)
vae.add_loss (kl_loss)
# Тренироваться.
optimizer = tf.keras.optimizers.Adam (learning_rate = 1e-3)
vae.compile (оптимизатор, loss = tf.keras.losses.MeanSquaredError ())
vae.fit (x_train, x_train, epochs = 3, batch_size = 64)
Эпоха 1/3
938/938 [==============================] - 2 с 1 мс / шаг - потеря: 0,0746
Эпоха 2/3
938/938 [==============================] - 1 с 1 мс / шаг - потеря: 0,0676
Эпоха 3/3
938/938 [==============================] - 1 с 1 мс / шаг - потеря: 0,0676
Для получения дополнительной информации обязательно прочтите руководство по функциональному API.
Долговременная осадка мягкой грунтовой глины при прямоугольной или полусинусоидальной повторяющейся нагрузке малой амплитуды
GeotechniCAL Reference
GeotechniCAL ReferenceФундаменты
Фундамент конструкции находится в непосредственном контакте с землей и передает нагрузку конструкции. на землю.Фундаменты могут быть охарактеризованы как неглубокие (подушка, ленточный или плотный) или глубокие (сваи, опоры или кессоны). При проектировании фундаментов необходимо соблюдать два основных критерия:
Несущая способность
Должен быть соответствующий запас прочности.
от обрушения (пластика в почве и катастрофического оседания или вращения конструкции).
Поселок
Осадки при рабочих нагрузках не должны вызывать повреждений, а также отрицательно сказываться на работоспособности конструкции.
Есть и другие соображения, которые могут иметь отношение к конкретным грунтам, типам фундаментов и условиям поверхности.
Фонды
Режим осадки при нагрузке
Приложение нагрузки к фундаменту вызывает некоторую оседание.
Три основных этапа кривой нагрузка-оседание:
Относительно упругое вертикальное сжатие
(O-A) Кривая нагрузка-расчет почти прямая.
Местное разрушение при сдвиге
(B) Местная податливость вызывает некоторое движение почвы вверх и наружу и приводит к небольшому поверхностному вспучиванию.
Общее разрушение при сдвиге
(C) Большие поселения образуются по мере того, как пластичные пласты полностью развиваются в почве.
Нарушение несущей способности может происходить в трех различных режимах: общий отказ от сдвига, местный отказ от сдвига или отказ от сдвига при штамповке. Местные сдвиги или сдвиги при продавливании характеризуются относительно большими осадками и предельным несущая способность четко не определена.В этих случаях осадка является основным фактором при проектировании фундамента.
Погрузочно-расчетные характеристики
Общее разрушение при сдвиге
Когда нагрузка (Q) постепенно прикладывается к фундаменту, происходит оседание, которое с самого начала является почти эластичным. При предельной нагрузке общее разрушение при сдвиге возникает, когда под основанием образуется пластиковая поверхность текучести, расширяющаяся наружу и вверх до поверхности земли, и происходит катастрофическое оседание и / или вращение фундамента.Нагрузка на единицу площади в этой точке называется предельная несущая способность (q f ) фундамента.
Погрузочно-расчетные характеристики
Местное разрушение при сдвиге
В почвах средней плотности и почвах средней относительной плотности, значительная вертикальная осадка может иметь место из-за местного сдвига , т.е. нижние края подошвы.Поверхности текучести часто не достигают поверхности. Некоторые изменения доходности могут происходят с осадкой в серии рывков. Опорное давление, при котором достигается первая текучесть место обозначается как давление первого отказа (q f (1)) - термин нагрузка первого отказа (Q f (1) ) также используется.
Погрузочно-расчетные характеристики
Разрушение при продавливании и сдвиге
В слабосжимаемых почвах и почвах с низкой относительной плотностью может иметь место значительная вертикальная осадка, когда поверхности текучести ограничиваются вертикальными плоскостями непосредственно примыкает к сторонам фундамента; поверхность земли может быть затянутой.После того, как произойдет первая доходность, кривая нагрузка-осадка немного повысится, но останется довольно пологой. Это называется отказом от сдвига при штамповке.
Погрузочно-расчетные характеристики
Факторы, влияющие на виды отказов
По результатам опытов с фундаментов на песках (Vesic, 1973), способ отказа, который может произойти в любой ситуации, зависит от размера фундамента и относительная плотность почвы.
- Могут быть и другие факторы:
- проницаемость : относится к дренированному / недренированному поведению
сжимаемость : аналогична RD
форма : например, полосы могут вращаться только в одну сторону
взаимодействие между соседними фундаментами и другими конструкциями
относительная жесткость грунта и основания / конструкции
падение и относительная величина горизонтальных нагрузок или моментов
наличие более жестких или более слабых нижележащих слоев.
Фонды
Поселок
Это три компонента , составляющих окончательное расчетное количество:
- Немедленный расчет (r i )
- упругая деформация без изменения содержания воды
- происходит быстро во время приложения нагрузки
- довольно небольшое количество в плотных песках / гравиях и жестких / твердых глинах
- происходит быстро во время приложения нагрузки
- Консолидационный расчет (r c )
- уменьшение объема пустот по мере выдавливания поровой воды из почвы
- происходит медленно в зависимости от проницаемости
- значимо только в глинах и илах
- происходит медленно в зависимости от проницаемости
- Вторичный осадок или ползучесть (r a )
- из-за постепенного изменения дисперсной структуры почвы
- происходит очень медленно, спустя много времени после завершения консолидации
- наиболее значимы на мягких органических почвах и торфах
- происходит очень медленно, спустя много времени после завершения консолидации
Таким образом, окончательный расчет , r = r i + r c + r a
Надежные прогнозы осадки требуют тщательной оценки состояния грунта, включая измерения свойств грунта.Обширные исследования грунта и статистически надежные программы испытаний могут быть дорогостоящими и трудоемкими, а значит, экономически невыгодными для обычного проектирования фундаментов мелкого заложения.
Поселок
Критерии общей и дифференциальной осадки
Основными нежелательными эффектами осадки в зданиях являются растрескивание из-за угловой деформации; наклон из-за дифференциальной осадки и чрезмерного смещения вниз.Осадка фундамента должна быть ограничена, чтобы соответствовать трем основным критериям:
Трещины или наклон, влияющие на внешний вид
Повреждения от трещин могут быть связаны с простотой ремонта
вертикальный наклон (w)> 1/250 неприятно заметное горизонтальное отклонение
> 1/100 и отклонение / шаг пролета также заметны
Трещины или другие повреждения, которые отрицательно влияют на ремонтопригодность
Растрескивание стен и элементов пола может повлиять на удобство обслуживания и требует больших затрат на ремонт. Дифференциальные перемещения
могут повлиять на функциональность. лифтов, конвейеров, кранов, внутреннего движения, отвода стоков и т. д.
Повреждение, которое влияет на целостность или устойчивость конструкции
Угловая деформация (D / L) в фундаменте приводит к последующим деформациям и увеличению напряжений в конструкции выше
Повреждение конструкции маловероятно, если D / L <1/150
Значения с D / L> 1/1000 может вызвать растрескивание и перенапряжение.
Итоговые и дифференциальные критерии расчета
Определения величин
Следующие определения и количества были предложены Берландом и Ротом (1975):
Расчетное расстояние (r или s) : смещение точки основания вниз
Дифференциальное оседание (dr) смещение одной точки относительно к другому
е.g dr BA = смещение B относительно A = r B - r A
Угловая деформация (a ): изменение наклона от горизонтали в точке
Угол наклона (w) : вертикальный угол смещения элемента конструкции
Относительное отклонение (D) : максимальное смещение между двумя точками относительно прямой линии, проведенной между ними
Угловое искажение (D / L) : отношение относительного отклонения между две точки и горизонтальное расстояние между ними
Провисание происходит, когда относительное отклонение направлено вниз, т.е.е. D is + ve
Заготовка возникает, когда относительное отклонение вверх, то есть D is -ve
Итоговые и дифференциальные критерии расчета
Растрескивание и простота ремонта
Дженнингс и Керрич (1962) предложили классификацию повреждений, вызванных растрескиванием, на основе простоты ремонта.
степень повреждения | тип повреждения | ширина трещины (мм) |
---|---|---|
0 незначительно | Едва виден или отсутствует | <0.1 |
1 очень слабый | Мелкие трещины, которые можно исправить обычной отделкой | 1-5 |
2 легкие | Трещины легко заполняются, могут быть видны снаружи. Двери и окна слегка прилипают | > 5 |
3 умеренных | трещин необходимо вычистить и заполнить каменщиком Заклеивание окон и дверей Услуги сломаны; попадание воды | 5-15 (более 3) |
4 тяжелые | Вырыв и замена кладки; полы наклонные; стены наклонные / выпуклые; двери и окна не работают; балка перекрытия перемещена; нарушение обслуживания, серьезное проникновение воды | 15-25 (зависит от номера) |
5 очень тяжелые | Требуется перестройка или капитальный ремонт; балки теряют опору; стены требуют опалубки; опасность нестабильности или коллапса. | > 25 (зависит от номера) |
Поселки на глине
Распределение приложенных напряжений под фундаментом
Распределение напряжений в грунте под фундаментом из-за приложенной нагрузки неравномерно. Изменения вертикального напряжения уменьшаются как по глубине, так и по горизонтали от нагрузки; но может быть предсказан с разумной точностью с помощью теории упругости (а иногда и более простых приближенных методов).
Распределение приложенных напряжений под фундаментом
Раствор Буссинеска
Согласно Буссинеску (1885), вертикальное напряжение Ds v в земле из-за точечной нагрузки Q равно
где z - глубина под нагрузкой, а r - горизонтальное расстояние от груза.
Доступны простые решения для напряжений ниже ленточных фундаментов, ниже центра круглых фундаментов и ниже угла прямоугольного фундамента.Последний можно использовать для расчета напряжения в любой точке, разделив прямоугольник на два или более прямоугольника и суммируя напряжения, возникающие в каждой части. Например, чтобы найти напряжение под центром прямоугольного основания (B x L), найдите напряжение под углом прямоугольника (1 / 2B x 1 / 2L), затем умножьте на 4.
Распределение приложенных напряжений под фундаментом
Напряжение под круглым фундаментом
Вертикальное напряжение на глубине z ниже центра круглого основания с радиусом R составляет
Ds v = q.Я с
где q - давление в подшипнике, а
Значение напряжения ниже центра является максимальным для данной глубины. Выражения для напряжений вне центра намного сложнее. На глубоких слоях почвы среднее значение будет между 0,85 и 0,6 от значения средней линии в зависимости от жесткости основания.
Распределение приложенных напряжений под фундаментом
Напряжение под ленточным фундаментом
Вертикальное напряжение на глубине z ниже равномерно нагруженного ленточного фундамента шириной B = 2b составляет
Ds v = q.Я с
где q - давление в подшипнике, а
I s = [b + sin b.cos (b + 2 a)] / p
Распределение приложенных напряжений под фундаментом
Напряжение под прямоугольным фундаментом
Вертикальное напряжение на глубине z ниже угла прямоугольника, подверженного равномерному давлению, составляет
Ds v = q. Я R
где q - давление в подшипнике, а
Распределение приложенных напряжений под фундаментом
Примерные методы
Для расчетов осадки (но не обязательно для других геотехнических задач) достаточная точность обычно достигается за счет упрощенного распределения давления.Два метода, приведенные ниже, широко используются.
Метод Томлинсона Томлинсон предлагает использовать приблизительное распределение давления для небольших фундаментов на жесткой глине: Поселок, r = (1,5 млрд) x (0,55 q n ) x m v
|
Метод распределения 2: 1
Предполагается, что вертикальное напряжение в горизонтальных плоскостях остается равномерным, но линейно уменьшается с глубиной ниже фундамента, таким образом:
Для ленточного фундамента: | |
Для прямоугольного фундамента: | |
где: | q n = приложенное чистое давление в подшипнике B = ширина, L = длина z = глубина от нижней стороны основания |
Поселок
Поселки на глинах и илистых глинах
Расчеты зависят от времени и могут занять несколько лет.Свойства грунта определяются в основном в результате лабораторных испытаний. Относительные пропорции окончательного оседания, которое происходит как немедленное оседание и оседание с консолидацией, варьируются в зависимости от истории напряжений и состояния почвы.
Мягкие нормально консолидированные глины и илы
r i 0,1r oed
где r oed =
осадка консолидации от эдометра м в
Окончательный расчет (без учета ползучести):
r = ri + r oed = 1.1 r oed
Жесткие переуплотненные глины
Как немедленное оседание, так и оседание консолидации учитываются в измеренном на эдометре модуле.
Таким образом, окончательный расчет, r = r oed
Пропорции:
r i 0,5r oed - 0,6r oed
r c 0,5r oed - 0,4r oed
Поселки на глинах и илистых глинах
Расчет немедленного расчета
Предполагается, что чистый немедленный расчет полностью обусловлен эластичным изменением объема при загрузке.
Следующее выражение основано на теории упругости.
Срочный расчет | |
где | q n = чистое давление в подшипнике B = ширина основания n = коэффициент Пуассона E u = модуль жесткости без дренажа I p = фактор влияния |
Расчет немедленного погашения
Типовые значения коэффициента Пуассона
Почва | Коэффициент Пуассона (n) |
---|---|
Недренированные насыщенные глины / илы | n u = 0.5 |
Глины жесткие песчаные или илистые | n = 0,2 - 0,4 |
Пески от средних до рыхлых | n = 0,4 |
Плотные пески | n = 0,2 - 0,45 |
Расчет немедленного погашения
Типовые значения недренированной жесткости
Обычно значения для E и получают из недренированных лабораторных испытаний.Однако можно использовать и другие эмпирические зависимости:
По результатам одометра
Модуль жесткости после дренирования,
E =
1 / м v
а затем
E u = 1.5E / (1 + n)
где n = истощенное значение коэффициента Пуассона.
От недренированного сопротивления сдвигу
В почвах модули жесткости зависят от деформации. Деформации, связанные с нормальным фундаментом при рабочих нагрузках, обычно меньше 0.1%. Некоторые эмпирические зависимости были отмечены, например, для лондонской глины,
E u / с u = от 150 до 500
Расчет немедленного погашения
Типовые значения фактора влияния
Факторы влияния I p для вертикального смещения из-за упругого сжатия слоя полубесконечной толщины
Форма | Гибкий | Жесткий | ||
Центр | Уголок | Среднее значение | ||
Круг | 1.00 | 0,64 | 0,85 | 0,79 |
Прямоугольник | ||||
L / B = 1,0 | 1,122 | 0,561 | 0,946 | 0,82 |
L / B = 1,5 | 1,358 | 0,679 | 1,148 | 1,06 |
L / B = 2,0 | 1.532 | 0,766 | 1,300 | 1,20 |
L / B = 3,0 | 1,783 | 0,892 | 1,527 | 1,42 |
L / B = 4,0 | 1,964 | 0,982 | 1.694 | 1,58 |
L / B = 5,0 | 2,105 | 1.052 | 1,826 | 1.70 |
L / B = 10,0 | 2,540 | 1,270 | 2,246 | 2,10 |
L / B = 100,0 | 4,010 | 2,005 | 3.693 | 3,47 |
Поселки на глинах и илистых глинах
Расчет осадки консолидации
- Оедометр осадки слоя почвы можно рассчитать по следующей формуле:
r oed = m v .Ds.H L
где
m v = коэффициент объемной сжимаемости, измеренный при испытании на эдометре
Ds = среднее изменение вертикального эффективного напряжения в слое
H L = толщина слояВ слоистых отложениях сумма осаждений пластов должна быть снижена до глубины, на которой
Ds <0,1q nРезультаты теста одометра имеют тенденцию к завышению фактического урегулирования; необходимо применить следующие поправочные коэффициенты:
r c = m g .r oed
где m g = коэффициент, предложенный Скемптоном и Бьеррамом (1957)
Тип глины | м г |
Очень чувствительный; мягкий аллювиальный, эстуарный и морские глины | 1,0–1,2 |
Нормоконсервированная глина | 0.7-1,0 |
Глины переуплотненные, | 0,5-0,7 |
Глины сильно переуплотненные, | 0,2-0,5 |
Расчет консолидационного расчета
Типовые значения объемной сжимаемости
Приведенные ниже значения следует использовать только в качестве ориентировочных, для предварительного проектирования и первичной сметы; значения, основанные на надежных испытаниях, следует использовать в окончательных расчетах проекта.
Тип почвы | Степень сжимаемости | мв |
Тяжелые переуплотненные глины | Очень низкая сжимаемость | <0,05 |
Глины переуплотненные | Низкая сжимаемость | 0.05 - 0,1 |
Выветрелые переуплотненные глины | Средняя сжимаемость | 0,1 - 0,3 |
Нормально уплотненные глины | Высокая сжимаемость | 0,3 - 1,5 |
Глины и илы аллювиальные органические; торф | Очень высокая сжимаемость | > 1.5 |
Поселок
Поселки на песках и гравиях
Заселения на песках и гравиях происходят практически сразу. Получение неповрежденных образцов для лабораторных испытаний затруднительно. Свойства грунта оцениваются по результатам испытаний in situ .
Стандартный тест на проникновение
Были предложены зависимости между значениями N и осадкой; Одним из примеров является пример Берланда и Бербиджа (1985), упрощенная версия которого:
Немедленный расчет,
где q n = полезное давление в подшипнике
B = ширина фундамента
N =
среднее значение SPT N в слое ниже толщины B
Испытание на проникновение конуса
Для переуплотненных песков оценка E может быть сделана по измеренному сопротивлению конуса (q c ):
При q c <50 МН / м, E '- 5q c
При q c > = 50 МН / м, E '- 250 МН / м
Прессиометрические испытания
Модуль сдвига G определяется по результатам прессиометра.
Тогда E = 2G (1 + n)
Фонды
Проект фундамента
Дизайн - это итеративный процесс. Дизайнеры используют свой опыт, чтобы оценить размеры, а затем проверить, безопасна ли конструкция. Если это небезопасно или проверка показала, что можно сэкономить, то они изменяют размеры и повторяют расчеты. Например:
Используйте предполагаемых значений подшипника , чтобы получить первую оценку размера.
Рассчитайте предельную несущую способность (q f ), при которой произойдет обрушение.
Получите допустимое давление в подшипнике из
. Разделите расчетную нагрузку на это допустимое давление, чтобы получить требуемую площадь .
Выберите соответствующие размеры .
Рассчитайте вероятное оседание для фундамента такого размера.
Проверьте , что прогнозируемая осадка из-за этого допустимого давления в подшипнике, вероятно, будет приемлемой.
python - сводка модели в pytorch
Это покажет веса и параметры модели (но не форму вывода).
из torch.nn.modules.module import _addindent
импортный фонарик
импортировать numpy как np
def torch_summarize (модель, show_weights = True, show_parameters = True):
"" "Обобщает модель резака, показывая обучаемые параметры и веса." ""
tmpstr = модель .__ класс __.__ имя__ + '(\ n'
для ключа, модуль в model._modules.items ():
# если он содержит слои, позвольте вызвать его рекурсивно, чтобы получить параметры и веса
если тип (модуль) в [
факел.nn.modules.container.Container,
torch.nn.modules.container.Sequential
]:
modstr = torch_summarize (модуль)
еще:
modstr = модуль .__ repr __ ()
modstr = _addindent (modstr, 2)
params = sum ([np.prod (p.size ()) для p в module.parameters ()])
веса = кортеж ([кортеж (p.size ()) для p в module.parameters ()])
tmpstr + = '(' + ключ + '):' + modstr
если show_weights:
tmpstr + = ', weights = {}'. формат (веса)
если show_parameters:
tmpstr + = ', параметры = {}'.формат (параметры)
tmpstr + = '\ п'
tmpstr = tmpstr + ')'
вернуть tmpstr
# Тестовое задание
импортировать torchvision.models как модели
модель = models.alexnet ()
печать (torch_summarize (модель))
# # Выход
# AlexNet (
# (особенности): Последовательный (
# (0): Conv2d (3, 64, размер ядра = (11, 11), stride = (4, 4), padding = (2, 2)), weights = ((64, 3, 11, 11), ( 64,)), параметры = 23296
# (1): ReLU (на месте), веса = (), параметры = 0
# (2): MaxPool2d (размер = (3, 3), шаг = (2, 2), расширение = (1, 1)), веса = (), параметры = 0
# (3): Conv2d (64, 192, размер ядра = (5, 5), stride = (1, 1), padding = (2, 2)), weights = ((192, 64, 5, 5), ( 192,)), параметры = 307392
# (4): ReLU (на месте), веса = (), параметры = 0
# (5): MaxPool2d (размер = (3, 3), шаг = (2, 2), расширение = (1, 1)), веса = (), параметры = 0
# (6): Conv2d (192, 384, kernel_size = (3, 3), stride = (1, 1), padding = (1, 1)), weights = ((384, 192, 3, 3), ( 384,)), параметры = 663936
# (7): ReLU (на месте), веса = (), параметры = 0
# (8): Conv2d (384, 256, kernel_size = (3, 3), stride = (1, 1), padding = (1, 1)), weights = ((256, 384, 3, 3), ( 256,)), параметры = 884992
# (9): ReLU (на месте), веса = (), параметры = 0
# (10): Conv2d (256, 256, размер ядра = (3, 3), stride = (1, 1), padding = (1, 1)), weights = ((256, 256, 3, 3), ( 256,)), параметры = 5
# (11): ReLU (на месте), веса = (), параметры = 0
# (12): MaxPool2d (размер = (3, 3), шаг = (2, 2), расширение = (1, 1)), веса = (), параметры = 0
#), веса = ((64, 3, 11, 11), (64,), (192, 64, 5, 5), (192,), (384, 192, 3, 3), (384,)) , (256, 384, 3, 3), (256,), (256, 256, 3, 3), (256,)), параметры = 2469696
# (классификатор): Последовательный (
# (0): выпадение (p = 0.5), веса = (), параметры = 0
# (1): линейный (9216 -> 4096), веса = ((4096, 9216), (4096,)), параметры = 37752832
# (2): ReLU (на месте), веса = (), параметры = 0
# (3): выпадение (p = 0,5), веса = (), параметры = 0
# (4): Линейный (4096 -> 4096), веса = ((4096, 4096), (4096,)), параметры = 16781312
# (5): ReLU (на месте), веса = (), параметры = 0
# (6): Линейный (4096 -> 1000), веса = ((1000, 4096), (1000,)), параметры = 4097000
#), веса = ((4096, 9216), (4096,), (4096, 4096), (4096,), (1000, 4096), (1000,)), параметры = 58631144
#)
Edit: у исайкацмана есть пиарч пиар для добавления модели .summary ()
, который в точности похож на keras https://github.com/pytorch/pytorch/pull/3043/files